1樓:網友
data segment
x db 2 dup(?)
mess1 db 0dh,0ah,'decimal=$'
mess2 db 0dh,0ah,'hex=$'
data ends
code segment
assume cs:code,ds:datastart:
mov ax,data
mov ds,ax
let0:mov x,0
mov x+1,0
mov si,0
mov dx,offset mess1
mov ah,9
int 21h
let1:mov ah,1
int 21h
cmp al,27
jz out1
cmp al,0dh
jz let2
and ax,000fh
mov x[si],al
inc si
jmp let1
let2:mov dx,offset mess2mov ah,9
int 21h
cmp si,1
ja let3
mov bl,x
mov cl,1
jmp let5
let3:mov al,x
mov cl,10
mul cl
add al,x+1
mov ah,0
mov bl,16
div bl
mov bx,ax
mov cl,2
let4:cmp bl,10
jl let5
add bl,7
let5:add bl,30h
mov dl,bl
mov ah,2
int 21h
mov bl,bh
dec cl
jnz let4
jmp let0
out1:mov ah,4ch
int 21h
code ends
end start
這個是將十進位轉換成十六進位的。
2樓:網友
a=10:b=11:c=12:d=13:e=14:f=15sl="十六進的數"
s=val(mid(sl,1,1))*16+val(mid(sl,2,1))
這樣是最簡單的16進轉成10進。那個分別存放就redim s()定義陣列。
組合語言:編一程式把鍵入的十六進位數轉化 成十進位數。要求 1:在螢幕上顯示轉換的十進位數,鍵入的
3樓:網友
data segment
x db 34h ;00110100b ;34h在記憶體中的儲存格式為00110100b
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov bl,byte ptr [x] ;al<-10001010b
mov cl,8 ;cx<-8
l1: test bl,80h ;看bl和1000000b與的最高為是否為1
jnz l2 ;如果不是1,則l2,輸出0
mov dl,'0'
mov ah,02h
int 21h ;輸出1
jmp l3
l2: mov dl,'1'
mov ah,02h
int 21h ;輸出0
l3: shl bl,1 ;al邏輯左移,將次高位移動到最高位。
dec cl
jnz l1
mov ah,4ch
int 21h
code ends
end start
該程式使用邏輯尺方法。首先將34h防入bl中;然後用邏輯左移的方法將bl的每一位移動至最高位,然後根據它和10000000與的方法檢視最高位是否為1,如果是,則螢幕顯示1,否則顯示0。這樣,螢幕上顯示的是34h的二進位值00110100b
當計算機用兩個位元組存放乙個整數時,其中能存放的最大十進位整數是多少,最小的十進位是多少,它們的二進
4樓:網友
當計算機用兩個位元組存放乙個整數時,其中能存放的最大十進位整數是32767,最小的十進位是-32768,它們的二進位形式是。
0111111111111111化成十進位就是32767,而0111111111111111是最大的正整數,再加1最高位就變成了1,那就成負數了,說明溢位了。
1000000000000000也是16位,十進位是-32768;1111111111111111是十進位-1,這個數減二進位0111111111111111就應該是1000000000000000,也就是十制-1-32767=-32768。
十進位整數轉換為二進位整數十進位整數轉換為二進位整數採用"除2取餘,逆序排列"法,具體的過程為:
逆序排列,二進位為從下向上寫餘數:1100101。
計算機能識別的進位是二進位,二進位只有兩個數碼0和1,由於二進位數只能由0和1組成,位數較多,為了書寫方便又有了八進位、十六進位等;而輸入常用的十進位,要經過轉換成二進位,計算機才能識別。
組成乙個位元組的二進位位數是
5樓:教育奮鬥者
在計算機中乙個位元組所包含二進位位的個數是「8」。
乙個位元組通常8位長,即乙個位元組(byte)由8位(bit)二進位位組成。位元組通常簡寫為「b」,而位通常簡寫為小寫「b」,計算機儲存器的大小通常用位元組來表示。在計算機的運算器、控制器中,通常都是以字為單位進行傳送的。
字在不同的位址出現其含義是不相同。送往控制器去的字是指令,而送往運算器去的字就是乙個數。
1、b與bit
資料儲存是以「位元組」(byte)為單位,資料傳輸大多是以「位」(bit,又名「位元」)為單位,乙個位就代表乙個0或1(即二進位),每8個位(bit,簡寫為b)組成乙個位元組(byte,簡寫為b),是最小一級的資訊單位。
2、字(word)
在計算機中,一串數碼作為乙個整體來處理或運算的,稱為乙個計算機字,簡稱字。字通常分為若干個位元組(每個位元組一般是8位)。在儲存器中,通常每個單元儲存乙個字。
因此每個字都是可以定址的。字的長度用位數來表示。
3、字長。計算機的每個字所包含的位數稱為字長,計算的字長是指它一次可處理的二進位數字的數目。一般地,大型計算機的字長為32-64位,小型計算機為12-32位,而微型計算機為4-16位。
乙個位元組由8個二進位組成,那麼兩個位元組所能表示的最大的十六進位整數為?
6樓:哼我超可愛
計算公式2^n,即從0到2^n-1,因為每一位都是在0和1兩個裡面選,所以每增加一位都要乘以2種可能。
2位元組就是16位,則可表示2^16個數,即從0到2^16-1
這是無符號數的運算,帶符號的稍微麻煩一點,內含原碼、反碼、補碼的概念,一時半會也講不完,知道無符號的就夠了。
7樓:德瑪西亞**
無符號的話是 0xffff
有符號的話是 0x7fff
三個位元組的二進位數。可以用幾個16進位數表示
8樓:
摘要。<>
親您好!很高興為您解答:三個位元組的二進位數。可以用幾個16進位數表示:可以用6個十六進位數表示。
三個位元組的二進位數。可以用幾個16進位數表示。
<>親您好!很高興為您解答:三個位元組的二進位數。可以用幾個16進位數表示:可以用6個十六進位數表示。
拓展資料:三個位元組的二進位數可以用幾個十六進位數來表示,這個問題先要弄清楚,乙個位元組等於多少十六進位數,乙個位元組等於8位(8個二進位位);乙個十六進位等於四個二進位位;所以乙個位元組等於2個十六進位,而三個位元組等於6個十六進位。
十進位制數和十六進位制數怎麼轉換,十進位制 數字 和十六進位制 字母表示的 如何轉換
16進位制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方 所以,在第n n從0開始 位上,如果是是數 x x 大於等於0,並且x小於等於 15,即 f 表示的大小為 x 16的n次方。進位制轉換表 例 2af5換算成10進位制 用豎式計算 第0位 5 16 0...
40的十進位制數,八進位制數,十六進位制數分別是什麼?怎麼算的?要
40這個數到底是什麼進位制。如果是十進位制 那它的八進位制為50 計算方法為 拿40除以8等於5餘0,則八進位制的表示為50它的十六進位制為28 計算方法為 拿40除以16等於2餘8,十六進位制表示為28 什麼叫二進位制數 什麼叫 制數 什麼叫八進位制數 什麼叫十六進位制數?它們是怎麼產生出來的 二...
C十六進位制求和C兩個十六進位制數相加
include stdio.h void main 對應不同型別資料的輸出,類似於輸入函式,c語言用不同的格式字元描述。d 以帶符號的十進位制整數形式輸出整數 正數不輸出符號 o 以無符號八進位制整數形式輸出整數 不輸出前導符o x 以無符號十六進位制整數形式輸出整數 不輸出前導符ox u 以無符號...