找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2628|回復: 22
收起左側

關于二進制數(shù),十六進制數(shù)

  [復制鏈接]
ID:925236 發(fā)表于 2023-12-5 18:53 | 顯示全部樓層 |閱讀模式
問一下大家,在C語言里面,一個二進制數(shù)乘上256代表著什么,二進制數(shù)相乘的值,跟他們原來十進制想乘的值是一樣的嗎?相加呢?

回復

使用道具 舉報

ID:883242 發(fā)表于 2023-12-5 20:34 | 顯示全部樓層
在c語言里面,所有的數(shù)據(jù)都是以二進制的形式保存的。就算是你看到的十進制,進了機器一律是二進制,所以此問題無解。
回復

使用道具 舉報

ID:57657 發(fā)表于 2023-12-5 21:14 | 顯示全部樓層
無論任何進制的數(shù)字,CPU都是二進制處理的。
回復

使用道具 舉報

ID:264021 發(fā)表于 2023-12-5 21:41 | 顯示全部樓層
在C語言中要轉換成同樣的進制才能加減乘除
回復

使用道具 舉報

ID:883242 發(fā)表于 2023-12-5 22:06 | 顯示全部樓層
單片機學習習 發(fā)表于 2023-12-5 21:41
在C語言中要轉換成同樣的進制才能加減乘除

不需要,你猜0xf+017等于幾?試一下不就知道了嗎?
回復

使用道具 舉報

ID:1034262 發(fā)表于 2023-12-5 23:02 | 顯示全部樓層
一個二進制數(shù)乘上256,等于左移8位(一個字節(jié))。
回復

使用道具 舉報

ID:1089601 發(fā)表于 2023-12-6 08:44 | 顯示全部樓層
這個問題其實不是問題,在程序里加幾條運算語句試一下不就清楚了嗎。我覺得這類問題應該去試,而不應該去問。
回復

使用道具 舉報

ID:1102853 發(fā)表于 2023-12-6 10:28 | 顯示全部樓層
二進制數(shù)乘上256相當于乘上2的8次方 也就是后面補8個0. 二進制數(shù)相乘的值,跟他們原來十進制想乘的值是一樣--當然是一樣的 只不過表示方法不一樣
回復

使用道具 舉報

ID:712097 發(fā)表于 2023-12-6 11:05 | 顯示全部樓層
0b1011 x 256 = 0b1011 << 8 = 0b1011 0000 0000
二進制數(shù)乘以256,相當于左移8位。
回復

使用道具 舉報

ID:1057978 發(fā)表于 2023-12-6 16:20 | 顯示全部樓層
乘256是為了獲得對應的十進制數(shù)啊,你學一下C語言或者C#操作一下字節(jié)數(shù)組練一下吧
回復

使用道具 舉報

ID:401564 發(fā)表于 2023-12-6 16:29 | 顯示全部樓層
這是C語言的基礎知識,你要自己學會
C并不是什么二進制加起來等于多少的問題
而是先看你這個所謂的"數(shù)"是什么東西?
如果是數(shù),那不就是1+1=2,8+8=16,4*256=1024小學的知識而已
但如果你涉及了變量,那就不是那么一回事了
回復

使用道具 舉報

ID:1102964 發(fā)表于 2023-12-7 02:05 來自手機 | 顯示全部樓層
二進制乘上256也就是2^8,就是在該二進制數(shù)后補上8個0。二進制、十進制都是是數(shù)字表示方式,他們加減乘除后的值都是一樣的,只是表示方法不一樣
回復

使用道具 舉報

ID:739610 發(fā)表于 2023-12-7 08:12 | 顯示全部樓層
二進制比喻成普通話  其它進制類似于方言 方言聽不懂啊 就翻譯成普通話就能聽懂  計算機原理已經說的很明白了微處理器沒出過北京村 只會普通話
回復

使用道具 舉報

ID:1105351 發(fā)表于 2023-12-20 13:46 | 顯示全部樓層
一個二進制數(shù)乘以256實際上是將該二進制數(shù)左移8位。  在二進制數(shù)中,左移操作相當于將該數(shù)乘以2的相應次方。因此,將一個二進制數(shù)左移8位相當于將其乘以2的8次方,即256。
回復

使用道具 舉報

ID:1105250 發(fā)表于 2023-12-20 20:41 | 顯示全部樓層
在C語言中,一個二進制數(shù)乘上256的結果等價于將該二進制數(shù)左移8位。這是因為在二進制系統(tǒng)中,每左移一位,相當于乘以2的一次方。因此,左移8位相當于乘以2的8次方,即256。

例如,如果有一個二進制數(shù)b,那么b * 256 就等價于將二進制數(shù)b左移8位。

關于二進制數(shù)相乘和相加,與十進制類似,二進制數(shù)相乘的結果是兩個二進制數(shù)的乘積,而二進制數(shù)相加的結果是兩個二進制數(shù)的和。

如果將兩個二進制數(shù)轉換為十進制,然后進行乘法和加法運算,結果與在二進制域中直接進行乘法和加法的結果是一樣的。但在C語言中,直接使用二進制運算更為方便和高效。
回復

使用道具 舉報

ID:1062320 發(fā)表于 2023-12-22 09:03 | 顯示全部樓層
二進制數(shù)乘上的也是256的二進制數(shù) cpu都以2禁止進行計算 256的二進制是100000000 你原數(shù)進ALU后面也是變成二進制 隨后乘法器
回復

使用道具 舉報

ID:74687 發(fā)表于 2023-12-22 09:19 | 顯示全部樓層
相乘,相加,取余都是不成問題的,只要沒有超出保存結果的變量的范圍就不會有問題。
回復

使用道具 舉報

ID:1010435 發(fā)表于 2023-12-22 14:10 | 顯示全部樓層
用c語言寫的時候,沒見過誰的寫法用二進制直接參與運算的,寫成10進制,或者16進制不是更容易讀?不管怎么寫,編譯器最后還是給整成一堆二進制。
回復

使用道具 舉報

ID:1105782 發(fā)表于 2023-12-22 15:34 | 顯示全部樓層
二進制數(shù)*256相當于*2的八次方,左移八位唄,當然跟十進制不一樣
回復

使用道具 舉報

ID:1105796 發(fā)表于 2023-12-22 16:23 | 顯示全部樓層
C語言是高級語言,加減乘除的操作編譯后為機器語言,機器語言根據(jù)不同的指令集,做字節(jié)或者半字,或者四字來進行加減乘除的。最容易理解的方式就是編譯后都轉二進制,因為底層硬件都是展開為數(shù)字寄存器處理,1bit 1bit這樣拼接操作。
回復

使用道具 舉報

ID:298663 發(fā)表于 2023-12-22 21:34 | 顯示全部樓層
二進制*256 相當于左移8位    二進制/256相當于右移8位
回復

使用道具 舉報

ID:1059013 發(fā)表于 2023-12-23 09:58 | 顯示全部樓層
其實人腦的神經突觸網(wǎng)絡運行的也是二進制,1就是55mv,0 就是0mv
回復

使用道具 舉報

ID:1107339 發(fā)表于 2023-12-31 21:37 | 顯示全部樓層
一個二進制數(shù)乘上256代表著左移8位,有可能溢出。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表