有没有想过,大脑计算能力会提高

有没有想过,大脑计算能力会提高

个人感觉
初步学习计算机编程会有很多疑问,什么是汇编语言,什么高级语言,下面就是汇编语言的一些学习分享。

首先搞定计数制

计算机内部算法主要有一下几熟悉几种;ASCII码,机内码,Unicode编码和UTF-8编码。
对于编码如下可详细了解
ASCII码点击这里,查看详情
机内码点击这里,查看详情
Unicode编码点击这里,查看详情
UTF-8编码点击这里,查看详情

计数制

计数制主要有
十进制(Decimal)
十进制用0~9共10个数码表示,其基数为10,运算规则为逢十进一,各位权是 1 0 i 10^{i} 10i

整数部分最低位位权位为 1 0 0 10^{0} 100 其余各位位权从右至左指数依次增大
小数部分最低位位权位为 1 0 − 1 10^{-1} 101 其余各位位权从右至左指数依次减少
十进制数后缀字母为D

二进制(Binary)
二进制用0和1两个数码来表示,其基数为2,运算规则逢二进一,各位权是 2 i 2^{i} 2i

二进制数后缀字母为B

八进制(Octal)
八进制用0~7共8个数码来表示,其基数为8,运算规则为逢八进一,各位权是 8 i 8^{i} 8i

八进制数后缀字母为O或Q

十六进制(HexaDecimal)
十六进制用0~9、A、B、C、D、E、F共16个数码来表示,其基数为16,运算规则为逢16进一,各位权是 1 6 i 16^{i} 16i

十六进制数后缀字母为H
十六进制数前缀用0x(数字零和字母x)表示

进制数间的转化
十进制(Decimal)转二进制(Binary)
有没有想过,大脑计算能力会提高
特别注意十进制数0.6转二进制数:0.6 = 0.1001B(1001循环)

十进制(Decimal)转八进制(Octal)转十六进制(HexaDecimal)
整数部分:除以八或十六取余,先低后高。
小数部分:乘以八或十六取余,先高后低。
(数字过大,十进制先转二进制在转八进制和十进制)整数部分:
1)将二级进制整数从右往左每3位一组(不够时左边补0)分别转换为八进制数。
2)将二级进制整数从右往左每4位一组(不够时左边补0)分别转换为十六进制数。
小数部分:
1)将二级进制小数数从左往右每3位一组(不够时右边补0)分别转换为八进制数。
2)将二级进制小数数从左往右每4位一组(不够时右边补0)分别转换为十六进制数。
十进制(Decimal)转二进制(Binary)加法口算方法

2 0 2^{0} 20=1 2 5 2^{5} 25=32 2 10 2^{10} 210=1024 2 15 2^{15} 215=32768
2 1 2^{1} 21=2 2 6 2^{6} 26=64 2 11 2^{11} 211=2048 2 16 2^{16} 216=65536
2 2 2^{2} 22=4 2 7 2^{7} 27=128 2 12 2^{12} 212=4096
2 3 2^{3} 23=8 2 8 2^{8} 28=256 2 13 2^{13} 213=8192
2 4 2^{4} 24=16 2 9 2^{9} 29=512 2 14 2^{14} 214=16384
十进制 二进制
1 0 1 10^{1} 101=10 2 1 2^{1} 21=10B
1 0 2 10^{2} 102=100 2 2 2^{2} 22=100B
1 0 3 10^{3} 103=1000 2 3 2^{3} 23=1000B
1 0 4 10^{4} 104=10000 2 4 2^{4} 24=10000B
1 0 n 10^{n} 10n=10…0(n个0) 2 n 2^{n} 2n=10…0B(n个0)

128=10000000B
十进制(Decimal)转二进制(Binary)减法口算方法

十进制 二进制
1 0 1 − 1 10^{1}-1 1011=9 2 1 2^{1} 21-1=1B
1 0 2 10^{2} 102-1=99 2 2 2^{2} 22-1=11B
1 0 3 10^{3} 103-1=999 2 3 2^{3} 23-1=111B
1 0 4 10^{4} 104-1=9999 2 4 2^{4} 24-1=1111B
1 0 n 10^{n} 10n-1=9…9(n个9) 2 n 2^{n} 2n-1=1…1B(n个1)

255= 2 8 2^{8} 28-11111111B
十进制(Decimal)转二进制(Binary)其他口算方法
1)乘法
N=a x 2 n 2^{n} 2n
40=10 x 2 2 2^{2} 22=(8+2)x 2 2 2^{2} 22=101000B
2)除法
F=a/ 2 n 2^{n} 2n
11/16=(8+2+1)x 2 − 4 2^{-4} 24=1011Bx 2 − 4 2^{-4} 24=0.1011B
3)N=a x 1 6 n 16^{n} 16n(十六转二)
161=10 x 1 6 1 16^{1} 161+1x 1 6 0 16^{0} 160=0A1H

计算机计量单位

计算机内存容量计算单位

内存容量常用计量单位
1Byte(字节)=8bit(二进制位,比特)
1024B= 2 10 2^{10} 210B=1KB
1024KB= 2 20 2^{20} 220B=1MB
1024MB= 2 30 2^{30} 230B=1GB
1024GB= 2 40 2^{40} 240B =1TB
1024TB= 2 50 2^{50} 250B=1PB
1024PB= 2 60 2^{60} 260B=1EB
1024EB= 2 70 2^{70} 270B=1ZB
1024ZB= 2 80 2^{80} 280B=1YB

计算机时钟周期计算单位

时钟周期常用计量单位
1ms= 1 0 − 3 10^{-3} 103s
1μs= 1 0 − 3 10^{-3} 103ms= 1 0 − 6 10^{-6} 106s
1ns= 1 0 − 3 10^{-3} 103μs= 1 0 − 9 10^{-9} 109s
1ps= 1 0 − 3 10^{-3} 103ns= 1 0 − 12 10^{-12} 1012
1fs= 1 0 − 3 10^{-3} 103ps = 1 0 − 15 10^{-15} 1015
1as= 1 0 − 3 10^{-3} 103fs = 1 0 − 18 10^{-18} 1018

数值数据的表示

无符号整数的表示

类型 位数 表示范围 备注
BYTE(或DB) 8 0~255( 2 8 − 1 2^{8}-1 281 用于字符(串),类似C语言的unsigned char
WORD(或DW) 16 0~65535( 2 16 − 1 2^{16}-1 2161 用于汉字,类似于c语言的unsigned short
DWORD(或DD) 32 0~4294967295( 2 32 − 1 2^{32}-1 2321 用于整数,类似于c语言的unsigned int
QWORD(或DQ ) 64 0~18446744073709551615( 2 64 − 1 2^{64}-1 2641)或-1.79 x 1 0 308 10^{308} 10308~1.79 x 1 0 308 10^{308} 10308 用于大于整数或浮点数,类似C语言的int64 或 doule,作大整数时用%I64u输入输出,作浮点数时用%1f输入输出

有符号整数的表示

类型 位数 表示范围 备注
SBYTE(或DB) 8 -128~+127,即 − 2 7 -2^{7} 27~ + 2 7 +2^{7} +27-1 用于字符(串),类似C语言的 char
SWORD(或DW) 16 -32768~+32767,即 − 2 15 -2^{15} 215~ + 2 15 +2^{15} +215-1 用于汉字,类似于c语言的 short
SDWORD(或DD) 32 -2147483648~+2147483647,即 − 2 31 -2^{31} 231~ + 2 31 +2^{31} +231-1 用于整数,类似于c语言的 int
QWORD(或DQ) 64 -9223372036854775808~+9223372036854775807,即 − 2 63 -2^{63} 263~ + 2 63 +2^{63} +263-1 用于大于整数或浮点数,类似C语言的int64 或 doule,只作大整数时用%I64d输入输出

慢慢魔剑,越来越尖,加油年轻的我们,奥利给!