当前位置: 首页 > web >正文

利用Python打印有符号十进制数的二进制原码、反码、补码

有时候手动计算有符号十进制数的二进制原码、反码、补码是一件挺麻烦的事情。
下面是一个段Python 代码,它可以接收一个 16 位有符号十进制数的输入,然后输出其对应的二进制原码、反码和补码:

def decimal_to_binary(decimal_num):# 检查输入是否超出16位有符号整数范围if decimal_num < -32768 or decimal_num > 32767:print("输入的数字超出了16位有符号整数的范围。")return# 处理正数if decimal_num >= 0:binary_str = bin(decimal_num)[2:].zfill(16)original_code = binary_strone_complement = binary_strtwo_complement = binary_str# 处理负数else:# 计算原码abs_num = abs(decimal_num)binary_str = bin(abs_num)[2:].zfill(15)original_code = '1' + binary_str# 计算反码one_complement = '1' + ''.join('1' if bit == '0' else '0' for bit in binary_str)# 计算补码two_complement = bin(int(one_complement, 2) + 1)[2:].zfill(16)print(f"原码: {original_code}")print(f"反码: {one_complement}")print(f"补码: {two_complement}")# 获取用户输入
try:decimal_num = int(input("请输入一个16位有符号十进制数: "))decimal_to_binary(decimal_num)
except ValueError:print("输入无效,请输入一个有效的十进制数。")

此代码定义了一个名为decimal_to_binary的函数,它接收一个十进制数作为输入。函数会先检查输入的数字是否在 16 位有符号整数的范围内,接着针对正数和负数分别计算其原码、反码和补码,最后输出计算结果。在主程序里,会获取用户输入的十进制数,调用decimal_to_binary函数进行计算,并处理可能出现的输入错误。

运行结果:
在这里插入图片描述

http://www.xdnf.cn/news/2713.html

相关文章:

  • 问题 ERROR: for jobmanager ‘ContainerConfig‘ 原因及解决
  • ComfyUI 学习笔记:安装篇及模型下载
  • 2025-4-27-C++ 学习 数组(2)
  • springboot项目文件上传到服务器本机,返回访问地址
  • 高级数据库对象全面解析:视图、存储过程与触发器
  • Express.js 框架教程:从入门到精通
  • 【“星瑞” O6 评测】 — llm CPU部署对比高通骁龙CPU
  • T-BOX应用 NXP S32K148控芯片搭配 SD NAND(嵌入式SD卡)存储的完美结合
  • 设计模式(状态模式)
  • 【力扣刷题实战】丢失的数字
  • vue代码规范管理
  • BeeWorks企业内部即时通讯软件支持国产化,已在鸿蒙系统上稳定运行
  • 【Altium】自定义菜单显示名称
  • C++23 std::bind_back:一种调用包装器 (P2387R3)
  • Matlab自学笔记五十二:变量名称:检查变量名称是否存在或是否与关键字冲突
  • Nacos-3.0.0适配PostgreSQL数据库
  • 互容是什么意思?
  • python+selenium实现淘宝商品数据半自动查询
  • pg数据库删除模式
  • CVE-2024-3431 EyouCMS 反序列化漏洞研究分析
  • 道可云人工智能每日资讯|“人工智能科技体验展”在中国科学技术馆举行
  • 【原创】从s3桶将对象导入ES建立索引,以便快速查找文件
  • 基于 MeloTTS.cpp 的轻量级的纯 C++ 文本转语音(TTS)库
  • 相机-IMU联合标定:相机-IMU外参标定
  • 【二分查找】寻找峰值(medium)
  • 学生管理系统审计
  • 从零开始的二三维CAD软件开发: 系列经验分享-写在开头
  • TensorFlow深度学习实战——基于循环神经网络的文本生成模型
  • ExoPlayer 中的 Timeline、Period 和 Window
  • shell--数组、正则表达式RE