第一篇:二進制轉十進制(共)
二進制數(shù)轉換成十進制數(shù)
二進制的1101轉化成十進制
1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13 轉化成十進制要從右到左用二進制的每個數(shù)去乘以2的相應次方 不過次方要從0開始
相反 用十進制的數(shù)除以2 每除一下將余數(shù)就記在旁邊
最后按余數(shù)從下向上排列就可得到1101或者用下面這種方法:
13=8+4+0+1=8+4+1(算出等于13就行了)
由二進制數(shù)轉換成十進制數(shù)的基本做法是,把二進制數(shù)首先寫成加權系數(shù)展開式,然后按十進制加法規(guī)則求和。這種做法稱為“按權相加”法。
本人有個更直接的方法,例如二進制數(shù)1000110轉成十進制數(shù)可以看作這樣:
數(shù)字中共有三個1 即第二位一個,第三位一個,第七位一個,然后十進制數(shù)即2的2-1次方+2的3-1次方+2的7-1次方即2+4+64=70 次方數(shù)即1的位數(shù)減一。如此計算只需要牢記2的前十次方即可在此本人為大家陳述一下:2的0次方是1
2的1次方是2
2的2次方是4
***222的的的的的的的的的的的的的的的的的的3次方是8 4次方是16 5次方是32 6次方是64 7次方是128 8次方是256 9次方是512 10次方是1024 11次方是2048 12次方是4096 ***81920次方是次方是次方是次方是次方是次方是次方是次方是8192 16384 32768 65536 131072 262144 524288 1048576
在這里僅為您提供前20次方,若需要更多請自己查詢。編輯本段十進制數(shù)轉換為二進制數(shù)
十進制數(shù)轉換為二進制數(shù)時,由于整數(shù)和小數(shù)的轉換方法不同,所以先將十進制數(shù)的整數(shù)部分和小數(shù)部分分別轉換后,再加以合并。1.十進制整數(shù)轉換為二進制整數(shù)
十進制整數(shù)轉換為二進制整數(shù)采用“除2取余,逆序排列”法。具體做法是:用2去除十進制整數(shù),可以得到一個商和余數(shù);再用2去除商,又會得到一個商和余數(shù),如此進行,直到商為0時為止,然后把先得到的余數(shù)作為二進制數(shù)的低位有效位,后得到的余數(shù)作為二進制數(shù)的高位有效位,依次排列起來。
十進制整數(shù)轉二進制
如: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 789/2=394.5 =1 第10位 394/2=197 =0 第9位 197/2=98.5 =1 第8位 98/2=49 =0 第7位 49/2=24.5 =1 第6位 24/2=12 =0 第5位 12/2=6 =0 第4位 6/2=3 =0 第3位 3/2=1.5 =1 第2位 1/2=0.5 =1 第1位
2.十進制小數(shù)轉換為二進制小數(shù)
十進制小數(shù)轉換成二進制小數(shù)采用“乘2取整,順序排列”法。具體做法是:用2乘十進制小數(shù),可以得到積,將積的整數(shù)部分取出,再用2乘余下的小數(shù)部分,又得到一個積,再將積的整數(shù)部分取出,如此進行,直到積中的小數(shù)部分為零,此時0或1為二進制的最后一位?;蛘哌_到所要求的精度為止。
然后把取出的整數(shù)部分按順序排列起來,先取的整數(shù)作為二進制小數(shù)的高位有效位,后取的整數(shù)作為低位有效位。
十進制小數(shù)轉二進制
如:0.625=(0.101)B
0.625*2=1.25======取出整數(shù)部分1
0.25*2=0.5========取出整數(shù)部分0
0.5*2=1==========取出整數(shù)部分1
再如:0.7=(0.1 0110 0110...)B
0.7*2=1.4========取出整數(shù)部分1 0.4*2=0.8========取出整數(shù)部分0 0.8*2=1.6========取出整數(shù)部分1 0.6*2=1.2========取出整數(shù)部分1 0.2*2=0.4========取出整數(shù)部分0 0.4*2=0.8========取出整數(shù)部分0 0.8*2=1.6========取出整數(shù)部分1 0.6*2=1.2========取出整數(shù)部分1 0.2*2=0.4========取出整數(shù)部分0
1、二進制數(shù)、八進制數(shù)、十六進制數(shù)轉十進制數(shù)
有一個公式:二進制數(shù)、八進制數(shù)、十六進制數(shù)的各位數(shù)字分別乖以各自的基數(shù)的(N-1)次方,其和相加之和便是相應的十進制數(shù)。個位,N=1;十位,N=2...舉例:
110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D 110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D
110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D
2、十進制數(shù)轉二進制數(shù)、八進制數(shù)、十六進制數(shù)
方法是相同的,即整數(shù)部分用除基取余的算法,小數(shù)部分用乘基取整的方法,然后將整數(shù)與小數(shù)部分拼接成一個數(shù)作為轉換的最后結果。
例:見四級指導16頁。
3、二進制數(shù)轉換成其它數(shù)據(jù)類型
3-1二進制轉八進制:從小數(shù)點位置開始,整數(shù)部分向左,小數(shù)部分向右,每三位二進制為一組用一位八進制的數(shù)字來表示,不足三位的用0補足,就是一個相應八進制數(shù)的表示。
010110.001100B=26.14Q 八進制轉二進制反之則可。
3-2二進制轉十進制:見1
3-3二進制轉十六進制:從小數(shù)點位置開始,整數(shù)部分向左,小數(shù)部分向右,每四位二進制為一組用一位十六進制的數(shù)字來表示,不足四位的用0補足,就是一個相應十六進制數(shù)的表示。
00100110.00010100B=26.14H 十進制轉各進制
要將十進制轉為各進制的方式,只需除以各進制的權值,取得其余數(shù),第一次的余數(shù)當個位數(shù),第二次余數(shù)當十位數(shù),其余依此類推,直到被除數(shù)小于權值,最后的被除數(shù)當最高位數(shù)。
一、十進制轉二進制
如:55轉為二進制
2|55
27――1 個位
13――1 第二位
6――1 第三位
3――0 第四位
1――1 第五位
最后被除數(shù)1為第七位,即得110111 二、十進制轉八進制
如:5621轉為八進制
8|5621
702 ―― 5 第一位(個位)
―― 6 第二位―― 7 第三位―― 2 第四位
最后得八進制數(shù):127658 三、十進制數(shù)十六進制
如:76521轉為十六進制
16|76521
4726 ――5 第一位(個位)
295 ――6 第二位――6 第三位―― 2 第四位
最后得1276516
二進制與十六進制的關系
2進制 0000 0001 0010 0011 0100 0101 0110 0111 16進制 0 1 2 3 4 5 6 7
2進制 1000 1001 1010 1011 1100 1101 1110 1111 16進制 8 9 a(10)b(11)c(12)d(13)e(14)f(15)
可以用四位數(shù)的二進制數(shù)來代表一個16進制,如3A16 轉為二進制為:
3為0011,A 為1010,合并起來為00111010??梢詫⒆钭筮叺?去掉得1110102 右要將二進制轉為16進制,只需將二進制的位數(shù)由右向左每四位一個單位分隔,將各單位對照出16進制的值即可。
二進制與八進制間的關系
二進制 000 001 010 011 100 101 110 111 八進制 0 1 2 3 4 5 6 7
二進制與八進制的關系類似于二進制與十六進制的關系,以八進制的各數(shù)為0到7,以三位二進制數(shù)來表示。如要將51028 轉為二進制,5為101,1為001,0為000,2為010,將這些數(shù)的二進制合并后為1010010000102,即是二進制的值。
若要將二進制轉為八進制,將二進制的位數(shù)由右向左每三位一個單位分隔,將事單位對照出八進制的值即可。
第二篇:作業(yè)5二進制與十進制
作業(yè)5二進制與十進制
1、十進制數(shù)用字母()表示 A.B
B.D
C.H
D.O
2、二進制數(shù)用字母()表示 A.B
B.D
C.H
D.O
3、計算機存儲和處理數(shù)據(jù)的基本單位是____。
A、bit B、Byte C、GB D、KB
5、二進制數(shù)1011轉換成十進制數(shù)是()A.10
B.11
C.12
D.13
6、二進制數(shù)10111轉換成十進制數(shù)是()A.20
B.21
C.22
D.23
7、十進制數(shù)21轉換成二進制數(shù)是()A.10110
B.10101
C.10100
D.11001
8、為了讓計算機能統(tǒng)一的用二進制形式的代碼存儲、處理各種數(shù)據(jù),國際上普遍采用了一種(b)字符編碼。
A.GB2312碼 B.ASCII碼
C.GBK碼
D.BIG-5碼
9、用Ultraedit軟件觀察字符串“2013 期中測試”的內碼如下圖所示,由圖可知“中”的內碼是()
A.20 C6 B.C6 DA C.DA D6 D.D6 DO 10、1MB的含義是()
A、1000K字節(jié)
B、1024K漢字
C、1000K個字節(jié)
D、1024K個字節(jié)
第三篇:二進制與十進制轉化
二進制與十進制轉化:
二進制11與十進制2相加得多少?
解析:此題考查的是二進制與十進制的相互轉化,屬于高中信息技術的難點。對于二進制與十進制的混合運算必須都換成二進制或都換成十進制才能進行。二進制與十進制的相互轉換可用8421法?!?421”法的原理說白了就是一種湊數(shù)法,按2的n次方的值列出,根據(jù)不同的情況進行“湊數(shù)”。我們把2的n次方列出分別是:
20=1 21=2 22=4 23=8 24=16 25=
3226=64??
一、對于二進制轉換成十進制數(shù)
例如:二進制數(shù)1010轉換成十進制數(shù)
4 2 1
二進制數(shù): 1 0 1 0(結果為凡是1對應的數(shù)相加:8+2=10)
例1:110轉換成十進制數(shù)
4 2 1
1 0(結果為凡是1對應的數(shù)相加:4+2=6)
例2:11100轉換成十進制數(shù)
8 4 2 1
1 1 0 0(結果為凡是1對應的數(shù)相加:16+8+4=28)
二、對于十進制轉換成二進制數(shù)
例如:十進制數(shù)不勝數(shù)10轉換成二進制數(shù)
4 2 1
(因為10=8+2)0 1 0(故凡是湊到的8和2下面都是1,沒有湊到的為0)
例3:十進制數(shù)6轉換成二進制數(shù)
4 2 1
(因為6=4+2)
0 1 1 0(故凡是湊到的4和2下面都是1,沒有湊到的為0)
例4:十進制數(shù)28轉換成二進制數(shù)
8 4 2 1
(因為16+4+8=28)
1 1 0 0(湊到的為1,沒有湊到的為0)
因四個選項都是二進制數(shù),所以得將題干中的十進制數(shù)2轉換成二進制數(shù)。根據(jù)8421法,十進制數(shù)2轉換成二進制數(shù)是(10)2.。
然后(11)2+(10)2=(101)2(注意二進制進位原則“逢二進一”)。
方法二:將二進制數(shù)(11)2轉化為10進制為(2+1)=3,3與10進制數(shù)2相加得5,十進制5轉化為二進制5=(4+1)10=(101)2
第四篇:基于vhdl語言的二進制轉十進制并用數(shù)碼管顯示的設計
河南科技學院機電學院 VHDL課程設計報告
題目:八位數(shù)碼管顯示
專業(yè)班級:電氣工程及其自動化102 姓
名:
周迎接
學 號:
20100344214
指導教師: 付廣春
完成日期:2012年12月 27 日
目 錄 引言…………………………………………………………………………2 2 總體設計方案………………………………………………………………2 2.1 輸入引腳數(shù)目的計算……………………………………………………3 2.2 二進制轉為十進制部分程序設計………………………………………3 2.3 數(shù)碼管顯示部分程序設計………………………………………………4 3 仿真顯示……………………………………………………………………5 3.1 顯示3仿真圖……………………………………………………………5 3.2顯示96的仿真圖…………………………………………………………5 4 心得體會……………………………………………………………………6 參考文獻………………………………………………………………………6 附錄1…………………………………………………………………………7
摘要
隨著當今社會電子技術的快速發(fā)展,單憑借硬件已不再能滿足廣大人民的需求,這時候軟件就顯示除了他們突出的優(yōu)點。與其他編程語言相比,VHDL語言以其超強的硬件描述能力,良好的可讀性和可移植性,以及其良好的用戶自定義性受到了廣大用戶的青睞。VHDL語言在最近幾年的發(fā)展及其迅猛,由此可以看出其用途已經(jīng)變的越來越廣泛。
一個VHDL程序由5個部分組成,包括實體(ENTITY)、結構體(architecture)、配置(coxnfiguration)、包(package)和庫(library)。實體和結構體兩大部分組成程序設計的最基本單元。圖2.2表示的是一個VHDL 3 程序的基本組成。配置是用來從庫中選擇所需要的單元來組成該系統(tǒng)設計的不同規(guī)格的不同版本,VHDL和Verilog HDL已成為IEEE的標準語言,使用IEEE提供的版本。包是存放每個設計模塊都能共享的設計類型、常數(shù)和子程序的集合體。庫是用來存放已編譯的實體、結構體、包和配置。在設計中可以使用ASIC芯片制造商提供的庫,也可以使用由用戶生成的IP庫。
今天我所要設計的是基于VHDL語言的8位數(shù)碼管顯示電路,其要實現(xiàn)的功能是把輸入的二進制數(shù)轉換為對應的十進制數(shù),并通過數(shù)碼管顯示出來。其過程大致可以分為通過程序將輸入的二進制數(shù)先轉換為對應的十進制數(shù),然后再把對應的十進制數(shù)與數(shù)碼管的管腳對應起來,使其顯示在數(shù)碼管上。關鍵詞:二進制轉為十進制 數(shù)碼管顯示 共陽數(shù)碼管1 引言
VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,誕生于
1982 年。1987 年底,VHDL被美國國防部和IEEE確認為標準硬件描述語言。
VHDL主要用于描述數(shù)字系統(tǒng)的結構,行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風格與句法是十分類似于一般的計算機高級語言。VHDL的程序結構特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口)和內部(或稱不可視部分),既涉及實體的內部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內部開發(fā)完成后,其他的設計就可以直接調用這個實體。這種將設計實體分成內外部分的概念是VHDL系統(tǒng)設計的基本點。
VHDL 語言能夠成為標準化的硬件描述語言并獲得廣泛應用,它自身必然具有很多其他硬件描述語言所不具備的優(yōu)點。歸納起來,VHDL 語言主要具有以下優(yōu)點:[1]
(1)VHDL 語言功能強大,設計方式多樣
VHDL 語言具有強大的語言結構,只需采用簡單明確的VHDL語言程序就可以描述十分復雜的硬件電路。同時,它還具有多層次的電路設計描述功能。此外,VHDL 語言能夠同時支持同步電路、異步電路和隨機電路的設計實現(xiàn),這是其他硬件描述語言所不能比擬的。VHDL 語言設計方法靈活多樣,既支持自頂向下的設計方式,也支持自底向上的設計方法; 既支持模塊化設計方法,也支持層次化設計方法。
(2)VHDL 語言具有強大的硬件描述能力
VHDL 語言具有多層次的電路設計描述功能,既可描述系統(tǒng)級電路,也可以描述門級電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結構描述,也可以采用三者的混合描述方式。同時,VHDL 語言也支持慣性延遲和傳輸延遲,這樣可以準確地建立硬件電路的模型。VHDL 語言的強大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型。VHDL 語言既支持標準定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會給硬件描述帶來較大的自由度。
(3)VHDL 語言具有很強的移植能力
VHDL 語言很強的移植能力主要體現(xiàn)在: 對于同一個硬件電路的 VHDL 語言描述,它可以從一個模擬器移植到另一個模擬器上、從一個綜合器移植到另一個綜合器上或者從一個工作平臺移植到另一個工作平臺上去執(zhí)行。
(4)VHDL 語言的設計描述與器件無關
采用 VHDL 語言描述硬件電路時,設計人員并不需要首先考慮選擇進行設計的器件。這樣做的好處是可以使設計人員集中精力進行電路設計的優(yōu)化,而不需要考慮其他的問題。當硬件電路的設計描述完成以后,VHDL 語言允許采用多種不同的器件結構來實現(xiàn)。
(5)VHDL 語言程序易于共享和復用
VHDL 語言采用基于庫的設計方法。在設計過程中,設計人員可以建立各種可再次利用的模塊,一個大規(guī)模的硬件電路的設計不可能從門級電路開始一步步地進行設計,而是一些模塊的累加。這些模塊可以預先設計或者使用以前設計中的存檔模塊,將這些模塊存放在庫中,就可以在以后的設計中進行復用。
本次我所要設計的基于VHDL語言的八位數(shù)碼管顯示將充分體現(xiàn)它的部分優(yōu)點。總體設計方案
2.1 輸入引腳數(shù)目的計算
因為題目要求數(shù)碼管要能顯示最大的八位十進制二進制數(shù),所以對應的二進制表示的十進制數(shù)首先要大于99999999,即2的所有n次冪之和應該大于99999999,數(shù)碼管才能顯示出最大的八位十進制數(shù),所以計算可得n的值最小為27,所以輸入二進制數(shù)的引腳應該設為27個,其二進制數(shù)輸入引腳圖如圖1所示
圖1 二進制數(shù)輸入引腳圖
2.2 二進制轉為十進制部分程序設計 二進制轉為十進制的部分程序如下: architecture one of look is signal ai,bi,ci,ki,ei,fi,gi,hi:integer range 0 to 9;signal di:integer range 0 to 99999999;begin di<=conv_integer(d);2.3 數(shù)碼管顯示部分程序設計
2.3.1 程序中數(shù)碼管的選擇及顯示的設置
在本設計中按照我的程序硬件所選用的應該為共陰極數(shù)碼管,且當某一位數(shù)碼管不需要顯示數(shù)據(jù)時,統(tǒng)一設定其顯示0,例如需要顯示1時,八個數(shù)碼管的顯示為00000001。
2.3.2 數(shù)碼管顯示部分部分程序如下: …………
variable a,b,c,k,e,f,g,h:integer range 0 to 9;begin a:=di rem 10;7 b:=(di-a)rem 100;c:=(di-a-10*b)rem 1000;k:=(di-a-10*b-c*100)rem 10000;e:=(di-a-10*b-c*100)rem 100000;f:=(di-a-10*b-c*100-1000*e)rem 1000000;g:=(di-a-10*b-c*100-1000*e-10000*f)rem 10000000;h:=(di-a-10*b-c*100-1000*e-10000*f-100000*g)/10000000;ai<=a;bi<=b;ci<=c;ki<=k;ei<=e;fi<=f;gi<=g;hi<=h;end process;process(ai)begin case ai is
when 0=>led7s1(6 downto 0)<=“1000000”;
when 1=>led7s1(6 downto 0)<=“1111001”;
when 2=>led7s1(6 downto 0)<=“0100100”;
when 3=>led7s1(6 downto 0)<=“0110000”;
when 4=>led7s1(6 downto 0)<=“0011001”;8
when 5=>led7s1(6 downto 0)<=“0010010”;
when 6=>led7s1(6 downto 0)<=“0000010”;
when 7=>led7s1(6 downto 0)<=“1111000”;
when 8=>led7s1(6 downto 0)<=“0000000”;
when 9=>led7s1(6 downto 0)<=“0010000”;
when others=>led7s1(6 downto 0)<=“XXXXXXX”;end case;end process;…………
2.3.3 數(shù)碼管顯示部分引腳圖
數(shù)碼管顯示部分部分引腳圖如圖2 所示
圖 2 數(shù)碼管顯示部分部分引腳圖
2.2.4 總體設計程序見附表1 3 仿真顯示
3.1 顯示“000000003”仿真圖
顯示數(shù)字“3”的仿真圖如圖3所示,因為根據(jù)程序所需數(shù)碼管為共陽極數(shù)碼管,所以數(shù)碼管對應的“e”,“f”段應該為高電平,在本次設計中,即數(shù)碼管的第5,6段為高電平,為了便于觀察,仿真的各項周期均取10ns。
圖3 顯示“3”電路 3.2 顯示“96”部分仿真圖,如圖4所示
圖4 顯示“96”仿真圖 心得體會
通過這次的課程設計讓我對VHDL語言以及電路設計的理論有了更加深入的了解,課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),這次課程設計雖然很累,但我學到了不少東西,對軟件的設計過程和方法有了更深入的了解。在課程設計過程中,我學到了很多人生的哲理,懂得怎么樣去制定計劃,怎么樣去實現(xiàn)這個計劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒,黑夜過去了,我們收獲的是黎明。在本次實踐中,給我印象最為深刻的是在文件刪除程序的編譯過程中,先有我的各個子程序都已經(jīng)編輯成功,那么這最后的程序就將是我成功的關鍵。
這次課程設計順利完成了,在設計中遇到了很多問題,最后都是經(jīng)過查閱相關的資料和在同學的幫助下,終于游逆而解。同時,在我學得到很多實用的知識,同時,對給過我?guī)椭乃型瑢W再次表示忠心的感謝!
參考文獻
【1】黃繼業(yè).EDA技術使用教程[M].北京:科學出版社,2010 【2】王云亮.電力電子技術[M].北京:電子工業(yè)出版社,2009 【3】康光華.電子技術基礎[M].北京:高等教育出版社,2006
附錄1 library ieee;12 use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity look is port(d:in std_logic_vector(26 downto 0);clk3:in std_logic;led7s1,led7s2,led7s3,led7s4,led7s5,led7s6,led7s7,led7s8:out std_logic_vector(6 downto 0));end;architecture one of look is signal ai,bi,ci,ki,ei,fi,gi,hi:integer range 0 to 9;signal di:integer range 0 to 99999999;begin di<=conv_integer(d);
process(di)variable a,b,c,k,e,f,g,h:integer range 0 to 9;begin a:=di rem 10;b:=(di-a)rem 100;c:=(di-a-10*b)rem 1000;k:=(di-a-10*b-c*100)rem 10000;e:=(di-a-10*b-c*100-k*1000)rem 100000;f:=(di-a-10*b-c*100-k*1000-10000*e)rem 1000000;g:=(di-a-10*b-c*100-k*1000-10000*e-100000*f)rem 10000000;h:=(di-a-10*b-c*100-k*1000-10000*e-100000*f-1000000*g)/10000000;ai<=a;bi<=b;ci<=c;ki<=k;ei<=e;fi<=f;gi<=g;hi<=h;end process;process(ai)begin case ai is
when 0=>led7s1(6 downto 0)<=“1000000”;
when 1=>led7s1(6 downto 0)<=“1111001”;13
when 2=>led7s1(6 downto 0)<=“0100100”;
when 3=>led7s1(6 downto 0)<=“0110000”;
when 4=>led7s1(6 downto 0)<=“0011001”;
when 5=>led7s1(6 downto 0)<=“0010010”;
when 6=>led7s1(6 downto 0)<=“0000010”;
when 7=>led7s1(6 downto 0)<=“1111000”;
when 8=>led7s1(6 downto 0)<=“0000000”;
when 9=>led7s1(6 downto 0)<=“0010000”;
when others=>led7s1(6 downto 0)<=“XXXXXXX”;end case;end process;process(bi)begin case bi is
when 0=>led7s2(6 downto 0)<=“1000000”;
when 1=>led7s2(6 downto 0)<=“1111001”;
when 2=>led7s2(6 downto 0)<=“0100100”;
when 3=>led7s2(6 downto 0)<=“0110000”;
when 4=>led7s2(6 downto 0)<=“0011001”;
when 5=>led7s2(6 downto 0)<=“0010010”;
when 6=>led7s2(6 downto 0)<=“0000010”;
when 7=>led7s2(6 downto 0)<=“1111000”;
when 8=>led7s2(6 downto 0)<=“0000000”;
when 9=>led7s2(6 downto 0)<=“0010000”;
when others=>led7s2(6 downto 0)<=“XXXXXXX”;end case;end process;process(ci)begin case ci is
when 0=>led7s3(6 downto 0)<=“1000000”;
when 1=>led7s3(6 downto 0)<=“1111001”;
when 2=>led7s3(6 downto 0)<=“0100100”;
when 3=>led7s3(6 downto 0)<=“0110000”;
when 4=>led7s3(6 downto 0)<=“0011001”;
when 5=>led7s3(6 downto 0)<=“0010010”;
when 6=>led7s3(6 downto 0)<=“0000010”;14
when 7=>led7s3(6 downto 0)<=“1111000”;
when 8=>led7s3(6 downto 0)<=“0000000”;
when 9=>led7s3(6 downto 0)<=“0010000”;
when others=>led7s3(6 downto 0)<=“XXXXXXX”;end case;end process;process(ki)begin case ki is
when 0=>led7s4(6 downto 0)<=“1000000”;
when 1=>led7s4(6 downto 0)<=“1111001”;
when 2=>led7s4(6 downto 0)<=“0100100”;
when 3=>led7s4(6 downto 0)<=“0110000”;
when 4=>led7s4(6 downto 0)<=“0011001”;
when 5=>led7s4(6 downto 0)<=“0010010”;
when 6=>led7s4(6 downto 0)<=“0000010”;
when 7=>led7s4(6 downto 0)<=“1111000”;
when 8=>led7s4(6 downto 0)<=“0000000”;
when 9=>led7s4(6 downto 0)<=“0010000”;
when others=>led7s4(6 downto 0)<=“XXXXXXX”;end case;end process;process(ei)begin case ei is
when 0=>led7s5(6 downto 0)<=“1000000”;
when 1=>led7s5(6 downto 0)<=“1111001”;
when 2=>led7s5(6 downto 0)<=“0100100”;
when 3=>led7s5(6 downto 0)<=“0110000”;
when 4=>led7s5(6 downto 0)<=“0011001”;
when 5=>led7s5(6 downto 0)<=“0010010”;
when 6=>led7s5(6 downto 0)<=“0000010”;
when 7=>led7s5(6 downto 0)<=“1111000”;
when 8=>led7s5(6 downto 0)<=“0000000”;
when 9=>led7s5(6 downto 0)<=“0010000”;
when others=>led7s5(6 downto 0)<=“XXXXXXX”;end case;15 end process;process(fi)begin case fi is
when 0=>led7s6(6 downto 0)<=“1000000”;
when 1=>led7s6(6 downto 0)<=“1111001”;
when 2=>led7s6(6 downto 0)<=“0100100”;
when 3=>led7s6(6 downto 0)<=“0110000”;
when 4=>led7s6(6 downto 0)<=“0011001”;
when 5=>led7s6(6 downto 0)<=“0010010”;
when 6=>led7s6(6 downto 0)<=“0000010”;
when 7=>led7s6(6 downto 0)<=“1111000”;
when 8=>led7s6(6 downto 0)<=“0000000”;
when 9=>led7s6(6 downto 0)<=“0010000”;
when others=>led7s6(6 downto 0)<=“XXXXXXX”;end case;end process;process(gi)begin case gi is
when 0=>led7s7(6 downto 0)<=“1000000”;
when 1=>led7s7(6 downto 0)<=“1111001”;
when 2=>led7s7(6 downto 0)<=“0100100”;
when 3=>led7s7(6 downto 0)<=“0110000”;
when 4=>led7s7(6 downto 0)<=“0011001”;
when 5=>led7s7(6 downto 0)<=“0010010”;
when 6=>led7s7(6 downto 0)<=“0000010”;
when 7=>led7s7(6 downto 0)<=“1111000”;
when 8=>led7s7(6 downto 0)<=“0000000”;
when 9=>led7s7(6 downto 0)<=“0010000”;
when others=>led7s7(6 downto 0)<=“XXXXXXX”;end case;end process;process(hi)begin case hi is
when 0=>led7s8(6 downto 0)<=“1000000”;16
when 1=>led7s8(6 downto 0)<=“1111001”;
when 2=>led7s8(6 downto 0)<=“0100100”;
when 3=>led7s8(6 downto 0)<=“0110000”;
when 4=>led7s8(6 downto 0)<=“0011001”;
when 5=>led7s8(6 downto 0)<=“0010010”;
when 6=>led7s8(6 downto 0)<=“0000010”;
when 7=>led7s8(6 downto 0)<=“1111000”;
when 8=>led7s8(6 downto 0)<=“0000000”;
when 9=>led7s8(6 downto 0)<=“0010000”;
when others=>led7s8(6 downto 0)<=“XXXXXXX”;end case;end process;end;
第五篇:高中信息技術_二進制十進制轉換教案
二進制十進制轉換教案
班級:20111411 學號:2011141150 姓名:李瑤
【教學目的與要求】
1、熟悉數(shù)制的概念;
2、掌握位權表示法;
3、熟練掌握各數(shù)制之間的轉換方法。
【課時安排】 1課時。
【教學重點與難點】
1、難點:位權表示法 十進制轉化為二進制
2、重點:
二、十進制間相互轉換
【學習者分析】 教材上這一部分寫的比較簡單但也比較抽象,以高一學生現(xiàn)在的認知結構還不是很容易理解,而且直接引入什么“按權相加”的方法,學生必定聽得一頭霧水。因此,本課時由淺入深,首先給出這些概念以幫助學生更好地理解和接受、消化吸收本節(jié)課的知識。
【教學過程】(以下教師的語言、活動簡稱“師”,學生的活動簡稱“生”)
(一)數(shù)制 6分鐘
師: 同學們,大家回想一下,我們最早學習的數(shù)學運算是什么?
生:加法。加減乘除??
師:對,我們最開始學習的就是十以內的加法,之后是兩位數(shù)的加法,在兩位數(shù)加法的學習中,老師是不是經(jīng)常會說,要注意逢十進一?也就是我們平常說的別忘了進位。像這樣按進位的原則進行記數(shù)的方法叫做進位記數(shù)制。“進位記數(shù)制”簡稱為“數(shù)制”或“進制”。我們平時用的最多的就是十進制了,那么,大家想一下,還有沒有其他的進制呢?比如說,小時、分鐘、秒之間是怎么換算的?
生: 一小時等于60分鐘,一分鐘等于60秒。
師: 那我們平時會不會說我做這件事情用了102分鐘呢?不是吧?我們一般會說,我花了一個小時零42分鐘,也就是說逢六十進一,這就是60進制。由此也可以推斷出,每一種數(shù)制的進位都遵循一個規(guī)則,那就是——逢N進1。這里的N叫做基數(shù)。所謂“基數(shù)”就是數(shù)制中表示數(shù)值所需要的數(shù)字字符的總數(shù),比如,十進制中用0——9來表示數(shù)值,一共有10個不同的字符,那么,10就是十進制的基數(shù),表示逢十進一。下面我們再引入一個新概念——“位權”。什么是位權呢?大家看一下這個十進制數(shù),1111.111,那么,這其中的7個1是不是完全一樣呢?
生:不一樣。
師:那么他們有什么不同呢? 生: 第一個1表示1000,第二個1表示100,??
1-2
-3 師:很好。大家看一下,1000=10,100=10,10=10,1=10,0.1=10,0.01=10,0.001=10。這就叫做位權,也就是基數(shù)的若干次冪。那么,這個“若干次”有是多少呢?有沒有什么規(guī)定呢?大家觀察一下這個例子,以小數(shù)點為界,整數(shù)部分自右向左,依次是基數(shù)的0次、1次、2次、3次冪。小數(shù)部分,自左向右,分別是基數(shù)的-1次、-2次、-3次冪。大家再看一下,2856.42這個十進制數(shù),它的值是怎么算出來的呢?這里的2表示2000,即2 *10,8表示800,即8 *10,同樣的,5代表50,即5 * 10,6代表6,即6 * 10。2000+800+50+6+0.4+0.02=2856.42,這就叫做按權相加法。也就是讓每一位上的數(shù)字字符乘以它所代表的權。那么,這種方法有什么用呢?這就是本節(jié)課的重點內容。0
321(二)數(shù)制轉換 20分鐘
大家都知道,計算機中采用的是二進制,但用計算機解決實際問題時對數(shù)值的輸入輸出通常使用十進制,這就有一個十進制向二進制轉換或由二進制向十進制轉換的過程。也就是說,在使用計算機進行數(shù)據(jù)處理時首先必須把輸入的十進制數(shù)轉換成計算機所能接受的二進制數(shù);計算機在運行結束后,再把二進制數(shù)轉換為人們所習慣的十進制數(shù)輸出。這種將數(shù)由一種數(shù)制轉換成另一種數(shù)制稱為數(shù)制間的轉換。
這節(jié)課我們主要來講一下二進制——十進制之間的轉換。下面我們結合實例來講解一下。
1、二進制數(shù)轉換成十進制數(shù)
把二進制數(shù)轉換成十進制數(shù)就是用“按權相加”法,把二進制數(shù)首先寫成加權系數(shù)展開式,然后按十進制加法規(guī)則求和。
例 把二進制數(shù)110.11轉換成十進制數(shù)。
這個比較簡單,也容易掌握,我們就不做練習了,下面我們重點看一下十進制轉換成二進制。
2、十進制數(shù)轉換為二進制數(shù)
大家看一下前面我們講的按權相加法中,權的值在小數(shù)點左邊和小數(shù)點右邊是不一樣的。所以,十進制數(shù)轉換為二進制數(shù)時,整數(shù)和小數(shù)的轉換方法也不同,一般我們先把十進制數(shù)的整數(shù)部分和小數(shù)部分分別轉換后,再加以合并。我們先來講一下轉換的方法,再結合實例來看一下。
(1)十進制整數(shù)轉換為二進制整數(shù)
十進制整數(shù)轉換為二進制整數(shù)采用“除2取余,逆序排列”法。具體做法是:用2去除十進制整數(shù),可以得到一個商和余數(shù);再用2去除商,又會得到一個商和余數(shù),如此進行,直到商為零時為止,然后把所有余數(shù)按逆序排列,也就是把先得到的余數(shù)作為二進制數(shù)的低位有效位,后得到的余數(shù)作為二進制數(shù)的高位有效位,依次排列起來。這就是所謂“除2取余,逆序排列”。
(2)十進制小數(shù)轉換為二進制小數(shù)
十進制小數(shù)轉換成二進制小數(shù)采用“乘2取整,順序排列”法。具體做法是:用2乘十進制小數(shù),可以得到積,將積的整數(shù)部分取出,再用2乘余下的小數(shù)部分,又得到一個積,再將積的整數(shù)部分取出,如此進行,直到積中的小數(shù)部分為零,或者達到所要求的精度為止。然后把取出的整數(shù)部分按順序排列起來,先取的整數(shù)作為二進制小數(shù)的高位有效位,后取的整數(shù)作為低位有效位。
例 將一個十進制數(shù)35.375轉換為二進制數(shù)。
最后得到轉換結果:(35.375)10=(100011.011)2
大家要好好記住這一點,整數(shù)部分是將所得的余數(shù)逆序排列,而小數(shù)部分則要將所提出來的積的整數(shù)按順序排列。
好了,我們這節(jié)課要講的主要內容就是這些了,下面,我們來就這些內容做一些練習,看看大家掌握的怎么樣了。
(三)練習7分鐘
1、(1010101.1011)2=()10
6420
3-4 解:(1010101.1011)2=2+2+2+2+2+2+2=64+16+4+1+0.5+0.125+0.0625=85.6875
2、(105.625)10 =()2
解:
(四)小結 2分鐘
本節(jié)課我們主要講了數(shù)制的概念以及二——十進制轉換,這節(jié)課的難點就是要理解位權的概念。重點掌握的內容當然這二進制和十進制之間的相互轉換方法,下面我們來一起回顧一下,二進制轉化成十進制用的是——(生)“按權相加法”。十進制轉化成二進制既是重點也是難點,不大容易掌握,大家下去要認真思考一下,看能不能用自己的話把這些規(guī)則表達出來,成為自己的東西。十進制轉化成二進制,整數(shù)部分是——(師生)“除2取余,逆序排列”,小數(shù)部分是——(師生)“乘2取整,順序排列”。
好了,這節(jié)課就上到這里吧。希望大家下去以后把這幾道題做一下,鞏固一下本節(jié)課所講的內容。
(五)作業(yè)
1、將下列數(shù)字用按權相加法展開
-1(568.3)10 = 5×10 + 6×10+ 8×10 +3× 10
0
-1(101.1)2 = 1×2 + 0×2+ 1×2 + 1×2
2、二進制數(shù)轉換成十進制數(shù)
(101.1)2 = 1×2 + 0×2 + 1×2 + 1× 2 =(5.5)10 十進制 轉換成二進制數(shù) 21
0
-1(173.8125)10=(10101101.1101)2