-
2021-08-03 01:52:39
各数制之间的转换
我们用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
更多相关内容 -
Java将图片转换成二进制,将二进制转换成图片
2022-04-01 17:57:56Java将图片转换成二进制,将二进制转换成图片 static BASE64Encoder encoder = new sun.misc.BASE64Encoder(); static BASE64Decoder decoder = new sun.misc.BASE64Decoder(); static File file = new File("f:...Java将图片转换成二进制,将二进制转换成图片
static BASE64Encoder encoder = new sun.misc.BASE64Encoder(); static BASE64Decoder decoder = new sun.misc.BASE64Decoder(); static File file = new File("f://file//timg.png"); public static void main(String[] args) throws Exception { // 将图片转换成二进制 getImageBinary(); } /** * 将图片转换成二进制 * * @return */ private static void getImageBinary() { File f = new File("f://file//timg.png"); BufferedImage bi; try { bi = ImageIO.read(f); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageIO.write(bi, "png", baos); //经测试转换的图片是格式这里就什么格式,否则会失真 byte[] bytes = baos.toByteArray(); String str = encoder.encodeBuffer(bytes).trim(); //将二进制转换成图片 base64StringToImage(str); } catch (IOException e) { e.printStackTrace(); } } /** * 将二进制转换为图片 * * @param base64String */ private static void base64StringToImage(String base64String) { try { byte[] bytes1 = decoder.decodeBuffer(base64String); ByteArrayInputStream bais = new ByteArrayInputStream(bytes1); BufferedImage bi1 = ImageIO.read(bais); File w2 = new File("f://files//timg.png");// 可以是jpg,png,gif格式 ImageIO.write(bi1, "jpg", w2);// 不管输出什么格式图片,此处不需改动 } catch (IOException e) { e.printStackTrace(); } }
-
将图片转换成二进制
2020-08-03 15:10:31//将图片转换成二进制 @RequestMapping(value="/getimagebinary",produces = "text/plain;charset=UTF-8") public String getImageBinary(){ File file = new File("C:\\图片\\1.jpg"); BufferedImage buff; try { ...package com.example.rabbitmq.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; @RestController public class Base64StringToImage { private final Logger logger = LoggerFactory.getLogger(this.getClass()); public static BASE64Encoder encoder = new sun.misc.BASE64Encoder(); public static BASE64Decoder decoder = new sun.misc.BASE64Decoder(); //将图片转换成二进制 @RequestMapping(value="/getimagebinary",produces = "text/plain;charset=UTF-8") public String getImageBinary(){ File file = new File("C:\\图片\\1.jpg"); BufferedImage buff; try { buff = ImageIO.read(file); ByteArrayOutputStream bos = new ByteArrayOutputStream(); ImageIO.write(buff, "jpg", bos); byte[] bytes = bos.toByteArray(); base64StringToImage(encoder.encodeBuffer(bytes).trim()); } catch (IOException e){ logger.error("转换成二进制失败" + e.getMessage()); } return "失败"; } //将图片转换成二进制 //@PostMapping(value="/base64stringtoimage",produces = "text/plain;charset=UTF-8") public String base64StringToImage(@RequestParam("str") String str){ try { byte[] bytes1 = decoder.decodeBuffer(str); ByteArrayInputStream bais = new ByteArrayInputStream(bytes1); BufferedImage bi1 = ImageIO.read(bais); File w2 = new File("C:\\图片\\4.jpg"); ImageIO.write(bi1, "jpg", w2); } catch (IOException e) { logger.error("图片转换失败" + e.getMessage()); } return "ok"; } }
-
java里怎样把文件转换成二进制
2021-02-12 16:52:02展开全部转换文件成为二进制数据并保存的32313133353236313431303231363533e78988e69d8331333365643661Java代码:取出数据并还原文件到本地的java代码:[java]view plaincopy//读取数据库二进制文件...展开全部
转换文件成为二进制数据并保存的32313133353236313431303231363533e78988e69d8331333365643661Java代码:
取出数据并还原文件到本地的java代码:
[java] view plain copy//读取数据库二进制文件
public void readerJpg() throws SQLException
{
connection=connectionManager.getconn();//自己连接自己的数据库
String sqlString="select images from save_image where id=4";//从数据库中读出要还原文件的二进制码,这里我读的是自己的数据库id为4的文件
File file=new File("E:\\1.jpg");//本地生成的文件
if(!file.exists())
{
try {
file.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
}
try {
byte[] Buffer = new byte[4096*5];
statement=connection.prepareStatement(sqlString);
resultSet = statement.executeQuery();
if(resultSet.next())
{
FileOutputStream outputStream = new FileOutputStream(file);
InputStream iStream = resultSet.getBinaryStream("images");//去字段用getBinaryStream()
int size=0;
while((size=iStream.read(Buffer))!=-1)
{
System.out.println(size);
outputStream.write(Buffer,0,size);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
-
c++将二进制字符串转换成十进制数
2021-01-22 15:51:29visual c++ 2进制字符串转10进制数 -
python将整数转换成二进制形式的方法
2022-04-27 07:33:551、写函数采用 短除法 的方式来算。 >>> binary = lambda n: "" if n==0 else binary(n//2) + str(n%2) >>> binary(3) '11' >>> binary(5) '...format 方法来获取二进制: >>> "{0:b}".format(12345) '11000000111001' -
十进制转换成二进制和十六进制的方法
2019-09-27 11:12:49十进制转换成二进制和十六进制的方法 十进制数转换成二进制数-般分为两个步骤,即整数部分的转换和小数部分的转换。 (1 )整数部分的转换 *除2取余法:*这种方法是由于D10=N2 =dn-1x2n-1十dn-2x2n-2 +… d1x21十d0x20,... -
c语言编写一个程序,将十进制整数n 转换成二进制数
2021-05-22 16:52:10#include int transfer(int x){int p=1,y=0,yushu;while(1){yushu=x%2;x/=2;y+=yushu*p;...}void main(){//进制转换函数的声明int transfer(int x);int x;printf("请输入一个十进制数:");scanf(... -
C语言算法之将十进制数转换成二进制数
2018-06-20 14:35:29导语:在C语言中没有将...下面给大家讲述一下如何编程实现将十进制数转换成二进制数。 先将源代码展示给大家: #include <stdio.h> void main() { //进制转换函数的声明 int transfer(int x)... -
将你的名字转换成二进制并输出
2021-02-05 16:59:19#二进制与字符编码 print(ord("我"))#ord函数括号里时单个字符,表示...#将你的名字转换成二进制并输出 name='山高水远' for i in name:#通过for循环获取所有的字符i,共获取了3个字符 i_by=bytes(i,encoding="utf... -
C++中几种将整数转换成二进制输出的方法总结
2019-10-29 18:11:38#include 〈iostream〉 #include 〈list〉 #include 〈bitset〉 ...//递归输出二进制函数 void BinaryRecursion(int n) { int a; a=n%2; n=n〉〉1; if (n==0) ; else BinaryRecursion(n); ... -
十六进制转换成二进制
2020-07-06 22:31:17长串16进制数据字符串转换二级制 public static void main(String[] args) throws Exception { // System.out.println(readTxt().replaceAll(" ", "")); String str = readTxt(); int length = str.length() / 2;... -
文本文件转换成二进制文件
2010-09-29 19:11:57把纯文本文件转化成二进制文件存储到一个.c文件里 .c文件的数组里是二进制的内容 -
vue项目将file转换成二进制流
2021-01-30 13:24:14前端在新增数据时,需要将附件和表单数据一起上传,此时需要将文件转换成二进制流传给后端。记录将文件转换成二进制流ref="uploadProduct"class="upload-demo":auto-upload="false":limit="1":on-exceed=... -
python的三种将整数转换成二进制的方法
2021-02-24 11:37:081、写函数采用 %2 的方式来算。 binary = lambda n: ‘’ if n==0 else binary(n/2) + str(n%2) binary(5) ‘101’ 2、采用 python 自带了方法 bin ...3、也可以采用字符串的 format 方法来获取二进制: “{0:b}”.fo -
python中将数字转换成二进制数
2020-09-05 07:09:49python中将数字转换成二进制数 256 128 64 32 16 8 4 2 1 1 0 1 0 1 0 1 1 0 这是快速得到342的方法 在python3.6中快速得到342的方法是使用bin,bin(342) -
十进制小数转换成二进制的原理理解
2020-03-10 09:50:08十进制小数转换成二进制的原理理解 浮点数 发布于 2018-03-08 约 2 分钟 十进制小数转换成二进制的原理理解 在学习浮点数据类型的时候,涉及到了10进制的小数如何转成2进制数的问题(此文章不讨论精度问题,仅... -
把图片转换成二进制--把二进制转换成图片
2018-08-28 16:24:41把图片转换成二进制--把二进制转换成图片 private void button1_Click(object sender, EventArgs e) { &... -
java十进制转二进制(输入一个十进制数将其转换成二进制)
2019-09-17 21:12:34十进制数转二进制数,跟据不同的开发语言其转换方式有很多,在Java中如果相把一个十进制的整数来转换成二进制那是举手之劳,非常简单,只要用Integer.toBinaryString(int)方法就可以得到结果。但如果转换的不是一个... -
字符串转换成二进制
2019-06-24 16:13:56ASCII码 字符 10进制 a 97 b 98 c 99 那么'abc' 怎么表示: 可以使用这个网站:https://codebeautify.org/string-binary-converter -
十进制数75转换成二进制数是多少?
2021-07-27 09:10:2475转换成二进制是:1001011。75/2=37......137/2=18......118/2=9.........09/2=4...........14/2=2...........02/2=1...........0从下往上读余数,就是整数部分的案1001011。拓展资料:十进制整数转换为二进制整数... -
0x0F转换成二进制
2020-05-24 11:33:02可以说四位二进制数的是一个8421的规律。 16进制1转为二进制为0001-----计算原理为08+04+02+11=1 16进制8转为二进制为1000-----计算原理为18+04+02+01=8 16进制F(15)转为二进制1111—计算原理为:18+14+12+11=15... -
int转换成二进制数字
2018-12-04 12:09:54import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner input = new Scanner(System.in);...请输入要转换成二进制的数字:"); int z = input.nextInt()... -
二进制数据转换成图片
2018-06-19 16:23:47描述二进制转换成图片的方法 -
编写程序把任意10进制整数转换成二进制数。
2019-07-10 10:34:40编写程序把任意10进制整数转换成二进制数。 #include <iostream> using namespace std; int main(){ int n; cin>>n; int t=0; int yu[105]; for(int i=1;;i++){ ... -
汇编语言:将四位十六进制数转换成二进制数
2020-06-29 10:46:24汇编语言:将四位十六进制数转换成二进制数题目要求运行截图编程平台代码实现 题目要求 从键盘接收一个四位的十六进制数,将其转换成二进制数后输出,不考虑错误输入。 运行截图 编程平台 Masm for Windows 集成... -
C语言实现十进制转换成二进制
2018-02-06 21:10:49#include //现定义一个数组,然后把用2整除这个数,得到商和余数,再用商继续除以2,直到值为0结束循环, ...printf("请输入一个十进制整数 N ="); scanf_s("%d",&n); while(n!=0){ temp=n%2; s -
用栈实现十进制转换成二进制(c语言)
2008-10-22 10:14:37用栈实现十进制转换成二进制(c语言)用栈实现十进制转换成二进制(c语言)用栈实现十进制转换成二进制(c语言)