[問題] endian
大家好,我來求教
關於 endian 我原本的理解是,在 C++ 拿到的整數值就是一般課本介紹的方式。
比如說 short int a = 4 就一定會是 0x04 而不會是 0x40。
只有在記憶體中才可能依照機器而有不同的實際排列,maybe 0x04, 0x40, 0x20, 0x02...
所以如果我今天要取出 a 除以 16 的餘數。
假設 a > 0 就是 a & 0x0F,而不是 a & 0xF0 或其他的
因為似乎網路上有些文章也是這樣寫,但上次看到另一篇文章說這樣可能會錯?
他說程式中拿到的值並沒有規定一定最左邊 MSB、最右邊LSB由小到大。
所以在寫 bit operation 要考慮 endian,
因為從沒遇過這種情形,也查不到,
所以上來求教是否高階程式語言看到的值真的不一定是如此?
抱歉程式沒學很好,請求賜教,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.110.143.3
推
02/02 00:15, , 1F
02/02 00:15, 1F
→
02/02 00:16, , 2F
02/02 00:16, 2F
推
02/02 00:20, , 3F
02/02 00:20, 3F
→
02/02 00:30, , 4F
02/02 00:30, 4F
→
02/02 00:34, , 5F
02/02 00:34, 5F
推
02/02 00:34, , 6F
02/02 00:34, 6F
→
02/02 00:35, , 7F
02/02 00:35, 7F
→
02/02 00:35, , 8F
02/02 00:35, 8F
→
02/02 00:37, , 9F
02/02 00:37, 9F
→
02/02 00:38, , 10F
02/02 00:38, 10F
→
02/02 00:40, , 11F
02/02 00:40, 11F
→
02/02 00:41, , 12F
02/02 00:41, 12F
→
02/02 00:45, , 13F
02/02 00:45, 13F
→
02/02 00:58, , 14F
02/02 00:58, 14F
→
02/02 03:46, , 15F
02/02 03:46, 15F
推
02/02 09:14, , 16F
02/02 09:14, 16F
→
02/02 09:15, , 17F
02/02 09:15, 17F
→
02/02 12:15, , 18F
02/02 12:15, 18F
討論串 (同標題文章)