Apple
public://topics-images/apple_webp.png
SCB10X
public://topics-images/347823389_774095087711602_515970870797767330_n_webp.png
Windows 11
public://topics-images/hero-bloom-logo.jpg
Huawei
public://topics-images/huawei_standard_logo.svg_.png
Google Keep
public://topics-images/google_keep_2020_logo.svg_.png
Instagram
public://topics-images/instagram_logo_2022.svg_.png
SCB
public://topics-images/9crhwyxv_400x400.jpg
Microsoft
public://topics-images/microsoft_logo.svg_.png
Basecamp
public://topics-images/bwpepdi0_400x400.jpg
Tinder
public://topics-images/hwizi8ny_400x400.jpg
FTC
public://topics-images/seal_of_the_united_states_federal_trade_commission.svg_.png
Pinterest
public://topics-images/pinterest.png
Palantir
public://topics-images/-nzsuc6w_400x400.png
AIS Business
public://topics-images/logo-business-2021-1.png
PostgreSQL
public://topics-images/images.png
JetBrains
public://topics-images/icx8y2ta_400x400.png
Krungthai
public://topics-images/aam1jxs6_400x400.jpg
Palworld
public://topics-images/mccyhcqf_400x400.jpg
Bill Gates
public://topics-images/bill_gates-september_2024.jpg
VMware
public://topics-images/1nj4i1gp_400x400.jpg
Take-Two Interactive
public://topics-images/0khle7nh_400x400.jpg
OpenAI
public://topics-images/ztsar0jw_400x400.jpg
Thailand
public://topics-images/flag_of_thailand.svg_.png
NVIDIA
public://topics-images/srvczsfq_400x400.jpg
ServiceNow
public://topics-images/ytnrfphe_400x400.png
Klarna
public://topics-images/urcllpjp_400x400.png
Google Play
public://topics-images/play.png
Drupal
public://topics-images/drupal.png
Virtua Fighter
public://topics-images/virtua_figther_2024_logo.png
Paradox Interactive
public://topics-images/paradox_interactive_logo.svg_.png
Europa Universalis
public://topics-images/europa-icon.png
Nintendo Switch 2
public://topics-images/mainvisual.png
Cloudflare
public://topics-images/cloudflare_logo.svg_.png
Samsung
public://topics-images/samsung.png
Google
public://topics-images/google_2015_logo.svg_.png
Uber
public://topics-images/uber.png
Microsoft 365
public://topics-images/m365.png
USA
public://topics-images/flag_of_the_united_states.svg_.png
GM
public://topics-images/0pe0po-z_400x400.jpg
Perplexity
public://topics-images/perplex.jpg
Xperia
public://topics-images/xperia.png
iOS 18
public://topics-images/ios-18-num-96x96_2x.png
True
public://topics-images/true_logo.png
SoftBank
public://topics-images/softbank.jpg
Pac-Man
public://topics-images/pacman.png
Harry Potter
public://topics-images/harry.png
Marvel
public://topics-images/marvel.png
Skydance
public://topics-images/skydance.png
SEA
public://topics-images/sealogo.png
Find My Device
public://topics-images/find.png
Gemini
public://topics-images/google_gemini_logo.svg__1.png
Accessibility
public://topics-images/accessibility-128x128_2x.png
Material Design
public://topics-images/m3-favicon-apple-touch.png
Android 16
public://topics-images/android16.png
Android
public://topics-images/android_0.png
Firefox
public://topics-images/firefox_logo-2019.svg_.png
Google Messages
public://topics-images/messages.png
Notepad
public://topics-images/notepad.png
Singapore
public://topics-images/flag_of_singapore.svg_.png
Airbnb
public://topics-images/airbnb.png
PS5
public://topics-images/ps5.png
Krafton
public://topics-images/krafton.png
Doom
public://topics-images/doom-game-s_logo.svg_.png
AMD
public://topics-images/amd_logo.svg_.png
GTA
public://topics-images/gta_0.png
DoorDash
public://topics-images/doordash.png
YouTube
public://topics-images/yt.png
YouTube Music
public://topics-images/yt-music.png
Facebook
public://topics-images/fb.png
iQiyi
public://topics-images/iqiyi_0.png
Viu
public://topics-images/viu.png
Amazon Prime Video
public://topics-images/prime-vid.png
Spotify
public://topics-images/spotify.jpg
Apple TV
public://topics-images/apple-tv.png
HBO Max
public://topics-images/max.png
Threads
public://topics-images/threads.png
Alexa
public://topics-images/alexa.png
Kindle App
public://topics-images/kindle.png
Shopee
public://topics-images/shopee.png
Waze
public://topics-images/waze.png
Bilibili
public://topics-images/bili.png
Google Maps
public://topics-images/maps.png
Apple Music
public://topics-images/apple-music.png
Claude
public://topics-images/claude.png
TikTok
public://topics-images/tiktok.png
Xbox
public://topics-images/xbox.png
Tesla
public://topics-images/tesla.png
Chrome
public://topics-images/chrome.png
Google Calendar
public://topics-images/gcal.png
Google Home
public://topics-images/ghome.png
Google Meet
public://topics-images/meet.png
NotebookLM
public://topics-images/notebooklm.png
Reddit
public://topics-images/reddit.png
Assassin’s Creed
public://topics-images/ac.png
Mark Zuckerberg
public://topics-images/zuck.jpg
Meta
public://topics-images/meta.png
Meta AI
public://topics-images/meta-ai.png
Epic Games
public://topics-images/epic_games_logo.svg_.png
Unreal
public://topics-images/unreal_engine_logo-new_typeface-svg.png
Fortnite
public://topics-images/fortnite.png
เขาหมายถึงจะทำก่อนมาบวกกัน
nat3738 Thu, 12/17/2009 - 22:20
เขาหมายถึงจะทำก่อนมาบวกกัน คือ
อันแรก
xy*(--y)+ (เป็น post-order)
คือ เอา x*y แล้ว ยัดเข้า stack
จากนั้นเจอ --y จึงลดค่า y ลงหนึ่ง แล้วนำค่า y ที่ลดแล้วมาใช้ในการบวก ซึ่งทำทีหลังการลดค่า
ถ้าผมเข้าใจไม่ผิดนะครับ
+*xy--y +--y*xy
soginal Thu, 12/17/2009 - 23:07
+*xy--y +--y*xy
ไม่นิยามไว้ครับ
luckyman Thu, 12/17/2009 - 23:49
ไม่นิยามไว้ครับ ขึ้นอยู่กับคอมไพเลอร์ (ISO C99 หัวข้อ 6.5 Expression ดู footnote 73-74)
จากผลลัพธ์ข้างบน คอมไพเลอร์ทำจากซ้ายไปขวาครับ
ตัวแรก
ตัวหลัง
ผลลัพธ์จาก gcc 4.4 ได้ตามด้านบนครับ
ส่วน visual c++ 2008 ได้ผลลัพธ์เป็น 44 ทั้งคู่
ขอบคุณทุกท่านมากครับ ขอถามเพิ
Peace Fri, 12/18/2009 - 00:59
ขอบคุณทุกท่านมากครับ
ขอถามเพิ่มเติมว่า ถ้า compiler(gcc) ทำจากซ้ายไปขาย แล้วทำไม z = x*y+x*--y จึงได้ z = 80 หรอครับ คือ ถ้าทำจากซ้่ายมาขวา ผมเข้าใจว่า มันจะทำ x*y ก่อน ตามด้วย x*--y แล้วค่อยบวกกัน ซึ่งน่าจะได้ 50+40=90 แต่ไม่ใช่
จริงด้วย ดูจากไฟล์ assembly
luckyman Fri, 12/18/2009 - 01:53
In reply to ขอบคุณทุกท่านมากครับ ขอถามเพิ by Peace
จริงด้วย ดูจากไฟล์ assembly กลายเป็น
แถมถ้าคอมไพล์ด้วย -O2
สรุปคือ ไม่เข้าใจเหมือนกัน
อย่าไปดู assembly ครับ
soginal Fri, 12/18/2009 - 09:54
In reply to จริงด้วย ดูจากไฟล์ assembly by luckyman
อย่าไปดู assembly ครับ เดี๋ยวงงเปล่าๆ จริงๆ ถ้าจขกท กำลังเรียนเรื่องวิชา compiler ก็ดูตามหลักการ prefix postfix ก็น่าจะพอแล้ว
ส่วนในกรณีนี้เกิดจากความพยายามทำ optimize ของ compiler ครับ
x*y+x*--y เปลี่ยนได้เป็น x*(y+--y) หรือ (y+--y)*x ครับ
แต่มันเอา y+--y มาทำก่อน ก็เพราะว่า มันมี --y อยู่ ก็เลยดึงมาทำก่อนครับแต่ที่มันเอา y+--y มาทำก่อนเพราะเหตุผลว่า จะเอา z ไปคูณไม่ได้จนกว่าจะทำ y+y ก่อน แต่จะทำ y+y ไม่ได้จนกว่าจะทำ --y ดังนั้นผลลัพธ์มันก็เลยออกมาอย่างที่เห็น
ขอแนะนำนะครับ ใส่วงเล็บให้เป็
Thaina Fri, 12/18/2009 - 15:58
ขอแนะนำนะครับ
ใส่วงเล็บให้เป็นนิสัยครับ สูตรคำนวน ต้องการอะไร ใส่ให้ชัดเจนไว้
มาอ่านวันหลังจะได้รู้เรื่อง
เขียนไว้โล่งๆแบบนี้ บางทีหนึ่งชี่วโมงผ่านไป อาจจะลืมไปแล้วว่าสูตรนี้จะ Flow แบบไหน
a * b - c ผมยังใส่ (a * b) - c เลย
แล้วอย่าเล่นกับ --x --y ดีกว่าครับ
Performance ที่ได้ ไม่น่าจะคุ้มกับความงงที่จะเกิดขึ้น
มันไปตีกับ Compiler อีกตะหาก
จริงครับ สำหรับการ coding
PiKO Fri, 12/18/2009 - 21:59
In reply to ขอแนะนำนะครับ ใส่วงเล็บให้เป็ by Thaina
จริงครับ สำหรับการ coding จริงๆ ทั้งวงเล็บและขึ้นบรรทัดใหม่
ถ้าทำได้โดยที่ทำให้ code ไม่รกและดูยาก ผมก็จะทำเสมอ
แต่นี่เข้าใจว่าต้องการศึกษาน่ะครับ (ไม่รู้จะอธิบายยังไงเหมือนกัน ^^')
มันเป็นเรื่องของการศึกษาน่ะคร
mr_tawan Tue, 12/22/2009 - 22:24
In reply to ขอแนะนำนะครับ ใส่วงเล็บให้เป็ by Thaina
มันเป็นเรื่องของการศึกษาน่ะครับ :-)
จะสอบแล้วอ่ะดิคับ 555
ellipsis Fri, 12/18/2009 - 17:11
จะสอบแล้วอ่ะดิคับ
555
ขอบคุณทุกท่านมากครับ สรุปคือ
Peace Fri, 12/18/2009 - 19:19
ขอบคุณทุกท่านมากครับ สรุปคือ มันขึ้นอยู่กับ compiler ว่าจะมองยังไง