1樓:臨危不懼
整數和小數分別轉換。
整數除以2,商繼續除以2,得到0為止,將餘數逆序排列。
22 / 2 11 餘0
11/2 5 餘 1
5 /2 2 餘 1
2 /2 1 餘 0
1 /2 0 餘 1
所以22的二進位制是10110
2樓:匿名使用者
二進位制只需用兩種狀態表示數字,容易實現計算機是由電子元、器件構成的,二進位制在電氣、電子元器件中最易實現。它只有兩個數字,用兩種穩定的物理狀態即可表達,而且穩定可靠。比如磁化與未磁化,電晶體的載止與導通(表現為電平的高與低)等。
而若採用十進位制,則需用十種穩定的物理狀態分別表示十個數字,不易找到具有這種效能的元器件。即使有,其運算與控制的實現也極複雜。
二進位制的運算規則簡單加法是最基本的運算。乘法是連加,減法是加法的逆運算(利用補碼原理,還可以轉化為加法運算,類似鐘錶撥針時的計算),除法是乘法的逆運算。其餘任何複雜的數值計算也都可以分解為基本算術運算複合進行。
為提高運算效率,在計算機中除採用加法器外,也直接使用乘法器。
眾所周知,十進位制的加法和乘法運算規則的口訣各有100條,根據交換率去掉重複項,也各有55條。用計算機的電路實現這麼多運算規則是很複雜的。
相比之下,二進位制的算術運算規則非常簡單,加法、乘法各僅四條:
0+0=00×0=0
0+1=10×1=0
1+0=11×0=0
1+1=101×1=1
根據交換率去掉重複項,實際各僅3條。用計算機的脈衝數位電路是很容易實現的。
3.用二進位制容易實現邏輯運算計算機不僅需要算術功能,還應具備邏輯運算功能,二進位制的0,1分別
可用來表示假(false)和真(true),用布林代數的運演算法則很容易實現邏輯運算。
4.二進位制的弱點可以克服二進位制主要的弱點是表示同樣大小的數值時,其位數比十進位制或其他數制多得多,難寫難記,因而在日常生活和工作中是不便使用的。但這個弱點對計算機而言,並不構成困難。
在計算機中每個儲存記憶元件(比如由電晶體組成的觸發器)可以代表一位數字,「記憶」是它們本身的屬性,不存在「記不住」或「忘記」的問題。至於位數多,只要多排列一些記憶元件就解決了,鑑於積體電路晶片上元件的整合度極高,在體積上不存在問題。對於電子元、器件,0和1兩種狀態的轉換速度極快,因而運算速度是很高的。
二進位制運算
1.算術運算前面已經講過,二進位制算術規則非常簡單,現舉二例加以說明。
即1110b+1011b=11001b
即1110b×1011b=10011010b
2.邏輯運算在計算機中還經常用二進位制數進行邏輯運算。邏輯運算在二進位制數位之間進行,不存在進位或借位。在邏輯運算中,二進位制數中的「1」表示「真」,「0」表示「假」。
(1)或(or)運算
或運算又稱邏輯加,運算子為「∨」或者「+」。運算規則是:
0∨0=0
0∨1=1
1∨0=1
1∨1=1
也就是說,當參加運算的邏輯值只要有一個1,運算結果即為1,否則為0。
(2)與(and)運算
與運算又稱邏輯乘,運算子為「∧」或「×」。運算規則是:
0∧0=0
0∧1=0
1∧0=0
1∧1=1
也就是說,當參加運算的邏輯值均為1時,運算結果才為1,否則為0。
(3)非(not)運算
非運算即對每個二進位制位的邏輯值取反,運算子為在二進位制數字上方加
一橫線。運算規則是:
0=11=0(4)異或(xor)運算
異或運算即按位相加(不進位),運算子常記為,運算規則是:
00=0
01=1
10=1
11=0
可以看出,如果參加運算的邏輯值只要有一個為1,運算結果即為1,否則為0。
下面舉例說明二進位制數的邏輯運算。
設x=10110101by=11010110b
x∨y=11110111b
x∧y=10010100b
x==d1001010y00101001bb
xy=011000i11b
十進位制數與二進位制數的轉換
我們在日常生活和工作中使用十進位制數,在計算機中使用二進位制數,因此在計算機輸入時要將十進位制數轉換為二進位制數,在計算機輸出時要將二進位制數轉換為十進位制數。這種轉換過程,是由計算機自動完成的。為簡便起見,這裡我們只介紹整數間轉換。
1 .十進位制數轉換為二進位制數整數的轉換,通常採用除2取餘法。即將十進位制數依次除以2,再把每次得到的餘數從後向前依次排列就得到相應的二進位制數。
例如:實際上,直接將十進位制數用2的n次冪更為方便。例如:
75=64+8+2+1
=26×1+26×0×24×0+23×1+22×0+21×1+20×1
=1001011b
2.二進位制數轉換為十進位制數將二進位制數每一位的數值用十進位制表達並相加即得到相應的十進位制數。
例如:11010010b=27×1+26×1+25×0+24×1+23×0+22×0+21×1+20×1
=128+64+16+2
=210
3樓:匿名使用者
呵呵~小數也是一樣的~!比如 11101.1011後面的小數後面的數的結果就是:1x2(-1)+0x2(-2)+1x2(-3)+1x2(-4)
結果等於0.5+0.125+0.0625=0.6875反過來也一樣:
比如隨便寫個數字:0.788
你就把這個數首先減去0.5,如果能減就把小數第一位定個1,如果不能減就定個0
同樣剩下的數字減去0.5的一半,也就是0.25一樣的道理,能減就為1不能減就為0
一直減到沒有數,也就是0為址
4樓:匿名使用者
就是說你所要保留幾位小數
十進位制小數怎麼轉換為二進位制小數
5樓:晨—光
方法:乘2取整法,即將小數部分乘以2,然後取整數部分,剩下的小數部分繼續乘以2,然後取整數部分,剩下的小數部分又乘以2,一直取到小數部分
為零為止。如果永遠不能為零,就同十進位制數的四捨五入一樣,按照要求保留多少位小數時,就根據後面一位是0還是1,取捨,如果是零,舍掉,如果是1,向入一位。換句話說就是0舍1入。
讀數要從前面的整數讀到後面的整數,下面舉例:
例1:將0.125換算為二進位制
得出結果:將0.125換算為二進位制(0.001)2
分析:第一步,將0.125乘以2,得0.25,則整數部分為0,小數部分為0.25;
第二步, 將小數部分0.25乘以2,得0.5,則整數部分為0,小數部分為0.5;
第三步, 將小數部分0.5乘以2,得1.0,則整數部分為1,小數部分為0.0;
第四步,讀數,從第一位讀起,讀到最後一位,即為0.001。
6樓:逮蘭祖嫣
十進位制小數轉換成二進位制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進位制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。
然後把取出的整數部分按順序排列起來,先取的整數作為二進位制小數的高位有效位,後取的整數作為低位有效位。
【例1108】把(0.8125)轉換為二進位制小數。
解:例1109(173.8125)10=()2解:
由〔例1107〕得(173)10=(10101101)2由〔例1108〕得(0.8125)10=(0.1101)2把整數部分和小數部分合並得:
(173.8125)10=(10101101.1101)2
7樓:匿名使用者
0.5(d)
=2^(-1)
=0.1(b)
8樓:匿名使用者
將小數部分乘以2,取結果的整數部分為二進位制的一位。 然後繼續取結果的小數部分乘2重複,一直到小數部分全部為0結束 (有可能遇到不停迴圈乘不盡的情況出現)
舉例:0.8125換成二進位制方法如下:
0.8125x2 = 1.625...1
0.625x2 = 1.25....1
0.25x2 = 0.5.....0
0.5x2 = 1 .....1
至此小數部分已經全為0 (1.0000..) ,所以十進位制0.8125對應二進位制的 0.1101
而乘不盡的無限迴圈二進位制小數舉個例子如十進位制的0.68, 你可以嘗試按上面的方法乘一下 :)
另外十進位制的整是用除2的方式的,想必你已經知道了。在換算時需要將整數部分用除2方式計算出,小數部分用乘2方式計算出,然後再用小數點接到一起作為二進位制的結果
9樓:早起的蟲蟲吃鳥
乘二取整法,0.5*2後整數部分是1,所以小數點後是1整數部分因為是1所以為0所以整體結果為:0.1
10樓:匿名使用者
進位制轉換是人們利用符號來計數的方法,包含很多種數字轉換。進位制轉換由一組數碼符號和兩個基本因素(「基」與「權」)構成。給你一個十進位制,比如:6,如果將它轉換成二進位制數呢?
10進位制數轉換成二進位制數,這是一個連續除2的過程:
把要轉換的數,除以2,得到商和餘數,
將商繼續除以2,直到商為0。最後將所有餘數倒序排列,得到數就是轉換結果。
聽起來有些糊塗?我們結合例子來說明。比如要轉換6為二進位制數。
「把要轉換的數,除以2,得到商和餘數」。
十進位制的小數怎麼轉換成二進位制
11樓:薔祀
可以採用乘2取整法,即將小數部分乘以2,然後取整數部分,
剩下的小數部分繼續乘以2,然後取整數部分,剩下的小數部分又乘以2,一直取到小數部分為零為止。
如果永遠不能為零,就同十進位制數的四捨五入一樣,按照要求保留多少位小數時,就根據後面一位是0還是1,取捨,如果是零,舍掉,如果是1,向入一位。換句話說就是0舍1入。讀數要從前面的整數讀到後面的整數。
下面舉例:
例1:將0.125換算為二進位制,結果為:將0.125換算為二進位制(0.001)2 。
分析:第一步,將0.125乘以2,得0.25,則整數部分為0,小數部分為0.25。
第二步, 將小數部分0.25乘以2,得0.5,則整數部分為0,小數部分為0.5。
第三步, 將小數部分0.5乘以2,得1.0,則整數部分為1,小數部分為0.0。
第四步,讀數,從第一位讀起,讀到最後一位,即為0.001。
擴充套件資料:
十進位制整數轉換為二進位制整數計算的方法:十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。具體做法是:
用2整除十進位制整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商為小於1時為止。
然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。
如:255=(11111111)b
255/2=127*****餘1
127/2=63*****=餘1
63/2=31*****==餘1
31/2=15*****==餘1
15/2=7*****===餘1
7/2=3*****====餘1
3/2=1*****====餘1
1/2=0*****====餘1
789=1100010101(b)
789/2=394 餘1 第10位
394/2=197 餘0 第9位
197/2=98 餘1 第8位
98/2=49 餘0 第7位
49/2=24 餘1 第6位
24/2=12 餘0 第5位
12/2=6 餘0 第4位
6/2=3 餘0 第3位
3/2=1 餘1 第2位
1/2=0 餘1 第1位
原理:眾所周知,二進位制的基數為2,十進位制化二進位制時所除的2就是它的基數。談到它的原理,就不得不說說關於位權的概念。
某進位制計數制中各位數字符號所表示的數值表示該數字符號值乘以一個與數字符號有關的常數,該常數稱為 「位權 」 。
位權的大小是以基數為底,數字符號所處的位置的序號為指數的整數次冪。十進位制數的百位、十位、個位、十分位的權分別是10的2次方、10的1次方、10的0次方,10的-1次方。二進位制數就是2的n次冪。
按權求和正是非十進位制化十進位制的方法。
下面我們開講原理,舉個十進位制整數轉換為二進位制整數的例子,假設十進位制整數a化得的二進位制數為edcba 的形式,那麼用上面的方法按權, 得:
a=a(2^0)+b(2^1)+c(2^2)+d(2^3)+e(2^4)
假設該數未轉化為二進位制,除以基數2得:
a/2=a(2^0)/2+b(2^1)/2+c(2^2)/2+d(2^3)/2+e(2^4)/2
注意:a除不開二,餘下了!其他的絕對能除開,因為他們都包含2,而a乘的是1,他本身絕對不包含因數2,只能餘下。
商得:b(2^0)+c(2^1)+d(2^2)+e(2^3),再除以基數2餘下了b,以此類推。
當這個數不能再被2除時,先餘掉的a位數在原數低,而後來的餘數數位高,所以要把所有的餘數反過來寫。正好是edcba。
十進位制轉換為二進位制,小數部分如果是迴圈的,那麼當精確到精確度時,要不要零舍一入
迴圈小數限長時,除記錄迴圈節外,肯定有截尾和舍入問題,這個問題就像十進位制小數是截尾還是四捨五入一樣,由使用者根據需要或習慣具體而定的。10進位制轉2進位制小數點部分 我就想知道遇到小數算不完時,怎麼辦?因為計算機中資料有位數限制,所以算到位數上限時就不繼續算了。比如float型別,算到23位後就不...
小數二進位制01010如何轉換成十進位制小數求具體步驟
小數點後一位是1 2的一次方,第二位是1 2的平方,就這樣依次算。0.1010 1 1 2 0 1 2 2 1 1 2 3 0 1 2 四次方 0.1010 1010 10000 16 10 16 0.625 含小數的二進位制轉10進位制怎麼轉?需要準備的工具 紙,筆。1 首先十進位制的小數轉換為二...
十進位制轉二進位制小數點之後如何轉換
十進位制轉二進位制轉換思路 十進位制的小數轉換為二進位制,主要是小數部分乘以2,取整數部分依次從左往右放在小數點後,直至小數點後為0。舉例 以十進位制的0.125,要轉換為二進位制的小數。第一步 轉換為二進位制,將小數部分0.125乘以2,得0.25,然後取整數部分0 第二步 再將小數部分0.25乘...