标签:tput 添加 java view 默认 红色 比较 整数 定义
fread
|
fwrite
|
ifstream.read()
|
ofstream.write()
|
文件读
|
文件写
|
FileInputStream()
|
FileOutputStream()
|
文件输入流()
|
文件输出流()
|
各数制之间的转换
我们用R表示任何数制的基数,讨论各数制之间的转换。
1.R进制数转换为十进制数
二进制、八进制和十六进制数转换为等值的十进制数,只要把它们用多项式表示并在十进制下进行计算,所得的结果就是十进制数。
2.十进制数转换为R进制数
十进制数转换为等值的二进制、八进制和十六进制数,需要对整数部分和小数部分分别进行转换。其整数部分用连续除以基数R取余数的方法来完成,小数部分用连续乘以基数R取整数的方法来实现。
基数 基数 基数 基数 基数
十进制 10000 1000 100 10 1
二进制 16 8 4 2 1
八进制 4096 512 64 8 1
十六进制 65536 4096 256 16 1
3.二进制数与八进制数、十六进制数的转换
二进制数与八进制数的转换应以"3位二进制数对应1位八进制数"%的原则进行。同理,因为24=16,则二进制数与十六进制数的转换应以"4位二进制数对应1位十六进制数"的原则进行。
四、二进制数的运算
在计算机中,二进制数的运算包括算术运算和逻辑运算。
1.二进制数的算术运算
(1)二进制数加法
加法原则:逢二进一
(2)二进制数减法
减法原则:借一当二
(3)二进制数乘法
乘法原则:与算术乘法形式相同
(4)二进制数除法
除法原则:与算术除法形式相同
2.二进制数的逻辑运算
逻辑运算是以二进制数为基础的,逻辑变量只有两个,用来表示逻辑"真"和"假"。
(1)逻辑加法("或"运算)
运算符号:"+"或"∨"
运算规则:0+0=0;0+1=1;1+0=1;1+1=1;
(2)逻辑乘法("与"运算)
运算符号:"×"或"∧"
运算规则:0×0=0;0×1=0;1×0=0;1×1=1;
(3)逻辑"非"运算
运算符号:"-"%运算规则:A&-*=0时,A=1
五、数据类型及数据单位
1.数据的两种类型
计算机中的数据可概括分为两大类:数值型数据和字符型数据。所有的非数值型数据都要经过数字化后才能在计算机中存储和处理。
2.数据单位
在计算机中通常使用三个数据单位:位、字节和字。位的概念是:最小的存储单位,英文名称是bit,常用小写b或bit表示。用8位二进制数作为表示字符和数字的基本单元,
英文名称是byte,称为一字节。通常用大"B"表示。
1B(字节)=8b(位)
1KB(千字节)=1024B(字节)
1MB(兆字节)=1024KB(千字节)
字长:字长也称为字或计算机字,它是计算机能并行处理的二进制数的位数。
六、字符编码与汉字编码
1.字符编码
目前微型机中普遍采用的字符编码是ASCII码。它是用七位二进制数对127个字符进行编码,其中前32个是一些不可打印的控制符号。
2.汉字编码及字模信息
汉字有两种编码:国标码与机内码。
国标码是"中华人民共和国国家标准信息交换汉字编码",代号为"GB2312-80"。在国标码的字符集中,收集了一级汉字3755个,二级汉字3008个,图形符号682个,共7445个。一个汉字对应一个区位码,由四位数字组成,前两位数字为区码(0~94),后两位数字为位码(0~94)。机内码是指汉字在计算机中的编码
汉字的机内码占两个字节,分别称为机内码的高位与低位。它们与区位码的关系如下:
机内码高位=区码+A0H
机内码低位=位码+A0H
汉字字库是由所有汉字的字模信息构成的。一个汉字字模信息占若干字节,究竟占多少个字节由汉字的字形决定。
例如,如果用16×16点阵表示一个汉字,则一个汉字占16行,每行有16个点,在存储时用两个字节存放一行上16个点的信息,对应位为"0"表示该点为"白","1"表示该点为"黑"。因此,一个16×16点阵的汉字占32个字节。
---------------------------------------------------------------
描述2进制的数据结构,用字符串直观,但是效率低,用数组效率高,但是不直观。
但是道理相同。
性字转换后的结果:
010000010000 010010010000 010010010100 111011111110 110010010000 010100010000 010011111110 010000010000 010000010000 010000010000 010111111110 000000000000
144位编码,这也不可能的,
性字编码alert asc("性")得到-12076,转化为2进制为-10111100101100 不算正负有14位就够了。
如果非要补到144位也因该是高位补0。
function c10to2(x)
‘10进制到2进制的转换
dim sign, result
result = ""
‘符号
sign = sgn(x)
x = abs(x)
if x = 0 then
c10to2 = 0
exit function
end if
do until x = "0"
result = result & (x mod 2)
x = x \ 2
loop
result = strReverse(result)
if sign = -1 then
c10to2 = "-" & result
else
c10to2 = result
end if
end function
---------------------------------------------------------------
另外一个人的写法:
function c10to2(x)
mysign=sgn(x)
x=abs(x)
DigS=1
do
if x<2^DigS
二进制编码转汉字:
1. 汉字信息交换码(国标码)
《信息交换用汉字 编码字符集·基本集》是我国于1980年制定的国家标准 GB2312-80,代号为国标码,是国家规定的用于汉字信息处理使用的代码依据。
GB2312-80中规定了信息交换用的6763个汉字和682个非汉字图形符号(包括几种外文字母、数字和符号)的代码。
6763个汉字又按其 使用频度、组词能力以及用途大小分成一级常用汉字3755个和二级常用汉字3008个。
一级汉字按拼音字母顺序排列;若遇同音字,则 按起笔的笔形顺序排列;若起笔相同,则按第二笔的笔形顺序排列,依次类推。所谓笔形顺序,就是横、竖、撇、点和折的顺序。二级汉字按 部首顺序排列。
在此标准中,每个汉字(图形符号)采用双字节表示。每个字节只用低7位,最高位恒为1。由于低7位中有34种状态是用 于控制字符,因此,只有94(128-34=94)种状态可用于汉字编码。这样,双字节的低7位只能表示94×94=8836种状态。
编码范围
十进制数码
基本 ASCII 码
00000000~01111111
0~127
控制字符
00000000~00100000、01111111
0~32、127
可用汉字段
00100001~01111110
33~126 (1~94)
扩充 ASCII 码
10000000~11111111
128~255
控制字符
10000000~10100000、11111111
128~160、255
GB2312-80
10100001~11111110
161~254 (1~94)
此标准的汉字编码表有94行、94列,其行号称为区号,列号称为位号。双字节中,用 高字节表示区号,低字节表示位号。非汉字图形符号置于第1~11区,一级汉字3755个且于第16~55区,二级汉字3008个置于第56~87区。
每个图形字符的汉字交换码,均用两个字节的低7位二进制码表示。汉字国标码通常用十六进制数表示。
例如:“中”字的区号为 54,位号为48,计算它的二进制数和十六进制数国标码。
解:先将区、位号分别加上 32 :
54+32=86
48+32=80
分别转换为二进制数:
(86)10=01010110
(80)10=0 1010000
得到二进制数国标码为:
01010110 01010000。
最后通过 8 4 2 1 ── 二进制取位法转换成十六 进制汉字国标码为:5650。
又如“国”字的区号为25,位号为90,用以上相同的方法得到它的国标码为:
二进制:00111001 01111010
十六进制:397A
----------------------------------------------------------------
基于以上原则,则
11000100,11100011,10111010,11000011
>(1100 0100 1110 0011)2,(1011 1010 1100 0011)2
>(C4E3)16,(BAC3)16
>查表可知:C4E3>>‘你’,BAC3>>‘好’
标签:tput 添加 java view 默认 红色 比较 整数 定义
原文地址:http://www.cnblogs.com/macliu/p/6340131.html