“第五十天” 机组--数据的表示

news2024/11/15 11:36:38

        数据的表示和运算

进位计数制

对于我们现在使用的如十进制计数法,二进制计数法等,符号反映权重,比如十进制的0~9,9这个符号的权重和0是不一样的,而且现在的计数法符号所在位置也反映权重,比如个位上的1 和十位上的 1 的权重也是不一样的。

计算机组成原理中的"位权"通常指的是二进制数中每个位所代表的数值大小或权重。在二进制表示中,每个位的权值是2的幂次方,从右到左依次递增,通常从0开始。这意味着最右边的位的权值为2^0,接下来一位的权值为2^1,再下一位的权值为2^2,依此类推。r进制的位权也是类似意思。

基数:每个数码位所用到的不同符号的个数,r进制的基数就是r,比如10进制的基数是10个,0~9,二进制是2个,0~1.

计算机使用二进制的原因在于:

1、  可使用两个稳定状态的物理器件表示;

2、  0,1正好对应逻辑值 假、真 ,方柏霓实现逻辑运算;

3、  可很方便地使用逻辑门电路实现算术运算。

二、八、十六进制的相互转换

二进制 -> 八进制 ,从最低位(小数点前最低位,小数点后最高位)起,每三位一组,每组转换成对应的八进制符号,高位不足补0.

比如二进制的 1 111 000 010 . 011 010 -> 1 7 0 2 . 3 2

八进制 -> 二进制 ,每位八进制转化成对应的 3位二进制

二进制与十六进制的转换也是这个这样的,不过是四对一,这个转换还蛮好用的。

各种进制的常见书写方式

二进制 : (10001)₂   100001B   ,这个B可以表示二进制,自己不知道,注意点,下面的H,D都是一样的,记住。

八进制:(12347)₈
十六进制:(14ABCDEF)₁₆    1652H (16进制:hexadecimal)  0x1652(这个是,不是o,记住记住)

十进制:(1689)₁₀  1897(10机制:decimalism)

这里还有十进制转化成其他进制,不多赘述。

        BCD码:用二进制编码的十进制

8421码:8421码就是用四位的二进制一一对应表示十进制的 0~9,四位的二进制码权值从高到低就是 8 4 2 1嘛,0000表示0,0001表示1,0010表示2,以此类推,不过这种表示方式 1010~1111是没有定义的,没有对应的值,而且这样如果十进制的 5+8=13 ,对应到8421码上是

0101 + 1000 =1101,这个1101是不再映射表里面的,处理方法就是对这种不再映射表的值再加 0110 (强制向高位进1),然后得到的值就是十进制对应的二进制结果,如 1101 + 0110 = 1 0011,就是 13 。

然后还有 余3码:就是再8421码的基础上再加上3 ,比如原本 0000对应的 0,现在是0011对应0;

还有 2421码:2421码是改变了权值的定义 ,现在这四位二进制的权值分别是 2 4 2 1,4以下,包括4,对应值关系和8421码是一样的,比如4 还是 0100,但4以上的值就定义保证最高位的2为1,这样是为了避免歧义,比如5可以表示为 0101,也可以表示为 1011,但有了最高位的要求,就只能是 1011,这样就避免歧义的发生。也就是说对于2421码,表示 0~4 的时候最高位是 0,表示 5~9的时候最高位是 1.

这个题,可以用ceil函数实现向上取整,不过我感觉写的这个没有用ceil函数的也挺好玩的。其实主要是我学c的时候还真没有学到ceil函数,就不知道。

向上取整是指,不小于该值的最小整数,例如 1.2的是2,-2.3的是-2

向下取整是指,不大于该值的最大整数。

#include<math.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	float x = 0.;
	float y = 0.;
	int num = 0;
	int i = 0;
	float sum = 0.;
	for (i = 0; i < n; i++)
	{
		scanf("%f %f %d", &x, &y, &num);
		sum += sqrt(x * x + y * y) / 50*2 + num * 1.5;
	}
	if(sum-(int)sum==0)//这个地方
		printf("%d", (int)sum);
	else
		printf("%d", (int)sum+1);
	return 0;
}

 这个是ceil函数,向上取整。

然后还有向下取整函数floor,一起先简单学了吧

 这个地方注意一点 : n*=3+1;效果和n*=4;一样,不是先乘三再加一;这里我输入的是3,

好了刚刚又发现了一个错误,!的级别比%要高,所以应该这样写!(n%2)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1133569.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

去雨去雪去雾算法运行问题汇总记录

在进行去雨去雪去雾算法过程中&#xff0c;遇到了一个问题&#xff0c;这在先前的电脑运行是都没有出现过&#xff0c;但在博主新买的电脑上却出现了&#xff0c;讲道理是有点小抑郁的。 RuntimeWarning: invalid value encountered in scalar divideret ret.dtype.type(ret …

基于Or-Tools的线性规划问题求解

画出可行域如图所示&#xff1a; Python调用ortools求解 导入求解器 # 导入(或包含)or - tools线性求解器包装器&#xff0c;这是MIP求解器和线性求解器的接口&#xff0c;如下所示 from ortools.linear_solver import pywraplp声明线性规划求解器 MPsolver is a wrapper …

js双向绑定

题目来源&#xff1a; 双向绑定_牛客题霸_牛客网 (nowcoder.com) JS37 双向绑定 描述 请补全JavaScript代码&#xff0c;要求如下&#xff1a; 1. 监听对象属性的变化 2. 当"person"对象属性发生变化时&#xff0c;页面中与该属性相关的数据同步更新 3. 将输入框中…

【C++面向对象】8. 继承

文章目录 【 1. 基本原理 】【 2. 派生类的访问权限 】【 3. 派生类继承得到的成员的权限 】【 4. 多继承 】 继承允许我们依据另一个类来定义一个类&#xff0c;这使得创建和维护一个应用程序变得更容易。这样做&#xff0c;也达到了 重用代码功能 和 提高执行时间 的效果。当…

【Qt之QSetting】介绍及使用

概述 QSettings类提供了一种持久的、与平台无关的应用程序设置存储功能。 用户通常期望一个应用能在不同会话中记住其设置&#xff08;窗口大小和位置&#xff0c;选项等&#xff09;。在Windows上&#xff0c;这些信息通常存储在系统注册表中&#xff1b;在macOS和iOS上&…

MySQL数据库 #4

文章目录 一、MySQL外键基本概念1. 表与表之间的关系1.一对多的表关系2.多对多3.一对一注意事项 2.多表查询1.子查询2.数据准备3.连表查询&#xff08;重点&#xff09; 二、多表查询练习题1.习题试题的SQL文件2.Navicata可视化软件1.连接数据库2 操作数据库3.导入备份4.查询数…

01. 板载硬件资源和开发环境

一、板载硬件资源 STM32F4VGT6-DISCOVERY硬件资源如下&#xff1a; (1). STM32F407VGT6微控制器有1M的FLASH存储器&#xff0c;192K的RAM&#xff0c;LQFP100封装 (2). 板上的ST-LINK_V2可以使用选择的方式把套件切换成一个独立的ST-LINK/V2来 使用&#xff08;可以使用SWD…

UML中类之间的六种主要关系

UML中类之间的六种主要关系: 继承&#xff08;泛化&#xff09;&#xff08;Inheritance、Generalization&#xff09;, 实现&#xff08;Realization&#xff09;&#xff0c;关联&#xff08;Association)&#xff0c;聚合&#xff08;Aggregation&#xff09;&#xff0c;组…

Java架构师内功嵌入式技术

目录 1 导学2 嵌入式微处理体系结构3 微处理器分类4 多核处理器5 嵌入式软件6 嵌入式系统6.1 系统组成7 嵌入式实时操作系统8 嵌入式软件设计9 软件开发工具想学习架构师构建流程请跳转:Java架构师系统架构设计 1 导学 嵌入式技术对软件架构的作用主要体现在以下几个方面: …

搜索二叉树实现(非递归版本)

目录 一&#xff0c;搜索二叉树是个啥&#xff1f; 二&#xff0c;搜索二叉树的实现 1.前期工作 2.方法实现 1.插入 2&#xff0c;查找 3.删除 三&#xff0c;实现二叉搜索树的全部代码 一&#xff0c;搜索二叉树是个啥&#xff1f; 话不多所&#xff0c;先给各位来一个…

查看linux下dns信息并修改

cat /etc/resolv.conf 查看dns 常用dns nameserver 114.114.114.114 nameserver 100.125.0.250 nameserver 8.8.8.8 nameserver 8.8.4.4 nameserver 192.168.122.1 nameserver 100.125.1.250 nameserver 100.125.1.251 nameserver 223.5.5.5 可以用vi 修改&#xff0c;修改后 …

【云原生】portainer管理多个独立docker服务器

目录 一、portainer简介 二、安装Portainer 1.1 内网环境下&#xff1a; 1.1.1 方式1&#xff1a;命令行运行 1.1.2 方式2&#xff1a;通过compose-file来启动 2.1 配置本地主机&#xff08;node-1&#xff09; 3.1 配置其他主机&#xff08;被node-1管理的节点服务器&…

spring常见问题汇总

1. 什么是spring? Spring是一个轻量级Java开发框架&#xff0c;最早有Rod Johnson创建&#xff0c;目的是为了解决企业级应用开发的业务 逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack&#xff08;一站式&#xff09;轻量级开源框架&#xff0c; 为开…

【LeetCode刷题日志】189.轮转数组

目录 1.题目描述 2.解题思路代码实现 方法一&#xff1a;使用额外的数组 解题思路&#xff1a; 代码实现&#xff1a; 方法二&#xff1a;环状替换 解题思路&#xff1a; 代码实现&#xff1a; 方法三&#xff1a;数组翻转 解题思路&#xff1a; 代码实现&#xff1a…

跨平台开发技术

目录 1.Qt1.简介2.优势3.劣势 2.NET CoreVue1.简介2.优点 3.Flutter1.简介2.优点3.缺点 4.Maui1.简介2.优点3.缺点 5.Avalonia1.简介2.优点3.缺点 6. Cordova1.简介2.优点3.缺点 7.Electron1.简介2.优点3.缺点 个人搜集资料并总结了一些跨平台开发技术&#xff0c;如有不足欢迎…

实战!RPA厂商选型分享

企业发展&#xff0c;必先科技先行&#xff0c;通过科技来提升内部运营、业务效率&#xff0c;从而达到降本、提质、增效的目标。但无论在技术选型亦或者厂商选择&#xff0c;都需要漫长的对比和调研&#xff0c;方能选择适合自身企业发展解决问题的技术和长期合作的技术伙伴。…

MathType7 公式编辑器嵌入Word\WPS,MathType 公式编辑常用小技巧

目录 1 MathType-7 下载 2 安装 4 嵌入word 5 嵌入wps 6 Mathtype 常用小技巧 6.1 四种插入公式的区别 &#xff1a; 6.2 MathType 常用快捷键 6.3 MathType转换公式 6.4 MathType公式编号 6.5 改变公式编号 6.6 mathtype 公式格式转换为latex格式 背景&#xff1a; w…

如何保卫您的网站:解决DDoS攻击与CC攻击

在当今数字化时代&#xff0c;网站安全是至关重要的。网络攻击如DDoS&#xff08;分布式拒绝服务&#xff09;和CC&#xff08;恶意请求洪水&#xff09;攻击可能会导致网站不稳定甚至不可用。本文将详细分析DDoS攻击和CC攻击的差异&#xff0c;以及如何使用CDN&#xff08;内容…

【C++】priority_queue仿函数

今天我们来学习C中另一个容器适配器&#xff1a;优先级队列——priority_queue&#xff1b;和C一个重要组件仿函数&#xff1a; 目录 一、priority_queue 1.1 priority_queue是什么 1.2 priority_queue的接口 1.2.1 priority_queue使用举例 二、仿函数 三、关于priority…