前端也学学有符号数和无符号数

这篇具有很好参考价值的文章主要介绍了前端也学学有符号数和无符号数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

今天来学习一下什么是有符号整数和无符号整数之间的转换,并且和十进制数之间的转换。
主要分为两点:
1、大致了解一下什么有符号整数,和无符号整数。
2、掌握有符号和无符号整数之间的转换方法。

什么是有符号数:

有符号数是针对二进制来讲的。用最高位作为符号位,“0”代表正,“1”代表负;
有符号数的编码方式,常用的是补码,另外还有原码和反码等。
用不同二进制编码方式表示有符号数时,所得到的机器数可能不一样,但是真值是相同的。

举个例子:
1、原码
原码就是符号位加上真值的绝对值,即用第一位表示符号其余位表示值。
比如如果是8位二进制:

1的原码 = 0000 0001
-1的原码 = 1000 0001

3、反码
反码的表示方法是:
正数的反码是其本身
负数的反码是在其原码的基础上,符号位不变,其余各个位取反。

1 = (00000001)= (00000001)-1 = (10000001)= (11111110)

4、补码
补码的表示方法是:
正数的补码就是其本身
负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(即在反码的基础上+1)

+1 = (00000001)= (00000001)= (00000001)-1 = (10000001)= (11111110)= (11111111)

什么是无符号数:

无符号数是相对于有符号数而言的,指的是整个机器字长的全部二进制位均表示数值位,相当于数的绝对值。
无符号数是针对二进制来讲的,无符号数的表数范围是非负数。

例如:

无符号数:
1111表示15。
有符号数:
1111-7

无符号数和有符号数转换:

无符号数转为有符号数
1、如果无符号数的最高位为1,则将无符号数取补码,得到的数就是有符号数。
2、首先判无符号数的最高位是否为1,如果不为1,则有符号数就直接等于无符号数。如果为1,就将无符号数取补码,得到有符号数。
举个例子:

2的原码是:0000 0010  最高位是0  所以结果是    0000 0010
130的原码是:1000 0010  最高位是1  取补码为1111 1110  所以结果是    1111 1110

有符号数转为无符号数
1、有符号数转换为无符号数,看有符号数的最高位是否为1,如果不为1(即为0),则无符号数就直接等于有符号数。
2、如果有符号数的最高位为1,则将有符号数取补码,得到的数就是无符号数。
举个例子:

2的原码是:0000 0010  最高位是0  所以结果是    0000 0010
-2的原码是:1000 0010  最高位是1  所以结果是    1111 1110

如有问题欢迎指出文章来源地址https://www.toymoban.com/news/detail-461054.html

到了这里,关于前端也学学有符号数和无符号数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言趣味教程】(2) 整数类型 | 数据类型的概念 | 原码反码与补码 | 有符号型和无符类型 | 研究 signed char 与 unsigned char 的取值范围

      🔗 《C语言趣味教程》👈  猛戳订阅!!! 在讲解数据类型前,我们不得不先讲解一些必备的知识点,比如如何定义一个变量,数据类型的基本概念。并介绍 ASCII 码,为 char 类型的讲解做必要的铺垫。然后讲解原码反码和补码,讲解 IEEE754标准时需要这部分的知识作为基

    2024年02月15日
    浏览(54)
  • ⚡【C语言趣味教程】(2) 整数类型 | 数据类型的概念 | 原码反码与补码 | 有符号型和无符类型 | 研究 signed char 与 unsigned char 的取值范围

      🔗 《C语言趣味教程》👈  猛戳订阅!!! 在讲解数据类型前,我们不得不先讲解一些必备的知识点,比如如何定义一个变量,数据类型的基本概念。并介绍 ASCII 码,为 char 类型的讲解做必要的铺垫。然后讲解原码反码和补码,讲解 IEEE754标准时需要这部分的知识作为基

    2024年02月15日
    浏览(34)
  • ⚡【C语言趣味教程】(2) 整数类型:数据类型的概念 | 原码反码与补码 | 有符号型和无符类型 | 研究 signed char 与 unsigned char 的取值范围

      🔗 《C语言趣味教程》👈  猛戳订阅!!! 在讲解数据类型前,我们不得不先讲解一些必备的知识点,比如如何定义一个变量,数据类型的基本概念。并介绍 ASCII 码,为 char 类型的讲解做必要的铺垫。然后讲解原码反码和补码,讲解 IEEE754标准时需要这部分的知识作为基

    2024年02月16日
    浏览(42)
  • 【C语言趣味教程】(2) 整数类型:数据类型的概念 | 原码反码与补码 | 有符号型和无符类型 | 研究 signed char 与 unsigned char 的取值范围

      🔗 《C语言趣味教程》👈  猛戳订阅!!! 在讲解数据类型前,我们不得不先讲解一些必备的知识点,比如如何定义一个变量,数据类型的基本概念。并介绍 ASCII 码,为 char 类型的讲解做必要的铺垫。然后讲解原码反码和补码,讲解 IEEE754标准时需要这部分的知识作为基

    2024年02月15日
    浏览(37)
  • FPGA中有符号数的相乘

    ⭐️作者简介: 小瑞同学 ,主要学习 FPGA、信号处理、通信 等。 🍎个人主页:小瑞同学的博客主页 🌻个人信条:越努力,越幸运! ⏰日期:2023.10.23 📖文章内容概述:介绍了两个有符号数相乘在硬件中的实现原理,给出了verilog参考程序和相应的testbench代码,进行了简单

    2024年04月28日
    浏览(20)
  • 字体号数与像素对应关系

    1 英寸=25.4 毫米 1 寸=33.3333333 毫米 1点( 英美点 )(PT)(磅)=0.3527毫米=1/72英寸(Office里面的点) Word默认的图片 分辨率 为 96 dpi,像素必须为整数。程序计算时尽量先算乘法再除。 八号=5磅(5pt)=(5/72)*96=6.67=6px 七号=5.5磅=(5.5/72)*96=7.3=7px 小六=6.5磅=(6.5/72)*96=8.67=8px

    2024年02月08日
    浏览(63)
  • PKI密码学学习笔记

    以下为本人整理的密码学的相关理论知识,如有不妥,欢迎指正! 密码算法也经常称为密码,是密码学中最重要的一个概念。密码算法是一个数据变换,其中一个变换作用于数据源项称为明文,变换后所产生的相应数据项称为密文。另一个变换作用于密文,变换后恢复出明文。

    2023年04月12日
    浏览(40)
  • CRYPTO现代密码学学习

    简单介绍 :RC4加密算法是一种对称加密算法,加密和解密使用同一个函数 初始化分为以下几个步骤 初始化存储0-255字节的Sbox(其实就是一个数组) 填充key到256个字节数组中称为Tbox(你输入的key不满256个字节则初始化到256个字节) 交换s[i]与s[j] i 从0开始一直到255下标结束. j是 s

    2024年02月03日
    浏览(54)
  • 区块链密码学学习笔记

    哈希函数是将任意长度的二进制明文通过算法处理映射为较短且固定长度的 二进制值,映射后的值也被称为哈希值。哈希值的数据唯一,且形式紧凑。即使只是变更明文中的一个字母,最终得到的哈希值也会发生变更。由于哈希算法本身的特点,任何人都不可能找到拥有相同

    2023年04月25日
    浏览(36)
  • 图形学学习笔记1:基础变换矩阵

    变换矩阵 (Transformation Marices) ,一切物体的缩放,旋转,位移,都可以通过变换矩阵作用得到,在光栅化中会用到,同时在投影 (projection) 变换也有很多应用 将如下图所示的简单矩阵乘法定义为对向量的线性变换。 最简单的缩放变换 ,如图,即除了(0,0)不变之外都乘以某个系

    2024年03月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包