首页 > 编程语言 >c++基础 打卡1

c++基础 打卡1

时间:2023-04-12 16:37:21浏览次数:47  
标签:反码 进制 二进制 基础 c++ 转化 打卡 十进制 原码

一、面向对象的编程语言有的特点。

       ①面向对象的编程语言最大的特点是结构化程序,二结构化程序的设计思路是自顶向下、逐步求精;其程序化结构是按功能划分为若干个基本模块,这些模块形成一个树状结构;各模块之间的关系尽可能简单,在功能上相对独立;每个模块内部均是由顺序、选择和循环3个基本结构组成;其模块化实现的具体方法是子方法。

      ②其与以往各种编程语言有根本的不同,它设计的出发点是为了能更直接地描述客观世界中存在的事物以及它们之间的关系。

      ③面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。

      因此,面向对象的编程语言使程序能够比较直接地反应问题的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维来进行软件开发。C++语言是目前应用最广的面向对象的编程语言。

二、原码 反码 补码

1.原码

      原码是指一个某进制的数转化为二进制后的用01表示的数字,数的绝对值与符号一起编码,称为原码。

       如10进制的9转化为二进制为1001,因原码是连带符号一起表示,所以最前边留下一位来表示数的正负,0代表正,1代表负,所以9用二进制表示即为01001。那么十进制的-70用二进制如何表示,我们这里先讲述一下各进制数如何转化。

     ①我们可以先将各进制数转化为十进制数。

       如一个n进制的数76.35,将其转化为十进制只需每位数乘以其所对应的权,所以n进制的76.35转化公式为7*n^1+6*n^0+3*n^(-1)+5*n^(n-2)。

      ②现在由十进制转化为n进制,用616转化为二进制为例。

       616/2=308······0

      308/2=154······0

      154/2=77······0

      77/2=38······1

      38/2=19······1

      19/2=9······1

      9/2=4······1

      4/2=2······0

      2/2=1······0

      1/2=0······1

所以616转化为二进制就是01001111000,那么-616的二进制数就是11001111000。

2.反码

      顾名思义就是与原来的码原码反过来就是反码,但是要注意符号位是不变化的,如01001111000的反码就是00110000111,11001111000的反码就是10110000111。

3.补码

      补码的计算方式很简单就是反码加一,在末尾加个一就变成了补码。

下面我们通过一段程序实现n进制转化为十进制。

复制代码
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
char s[10];
int len;
int sum;
int main()
{
    int n;//定义转化的进制数
    cin>>n;
    cin>>s;//输入这个数字
    len=strlen(s);
    for(int i=0;i<len;i++)
    {
        sum+=(s[i]-'0')*(pow(n,len-i-1));//使用库函数pow求解幂函数 
    }
    cout<<sum<<endl;
    return 0;
 } 
复制代码

使用此程序即可将一个n进制的数转化为十进制的,此处我开出的范围较小,并没有包括将大于10进制的数转化为十进制的数,明天我将更新大于10进制的数转化为十进制以及任意进制的数转化为十进制后转化为二进制的方式。

溜了溜了~~~

 

标签:反码,进制,二进制,基础,c++,转化,打卡,十进制,原码
From: https://www.cnblogs.com/zzqq1314/p/17310223.html

相关文章

  • Containerd基础用法
    1)关于Containerd的基础知识从Docker1.11版本开始,Docker容器运行就不是简单通过DockerDaemon来启动了,而是通过集成containerd、runc等多个组件来完成的。虽然DockerDaemon守护进程模块在不停地重构,但是基本功能和定位没有太大的变化,一直都是CS架构,守护进程负责和DockerCl......
  • 开心档之C++ 修饰符类型
    C++修饰符类型C++允许在 char、int和double 数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。下面列出了数据类型修饰符:signedunsignedlongshort修饰符 signed、unsigned、long和short 可应用于整型,signed 和 unsigned ......
  • c++ 打卡第三天
    2023-04-12百钱百鸡问题一、问题描述。    一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,我可以通过三种鸡各买多少实现100钱买一百只鸡。二、设计思路。    ①通过以上题我们可以确定两个方程式      公鸡数量+母鸡数量+小鸡数量=100。   ......
  • C++教材第二章课后习题 2-27
    用穷举法找出1~100的质数并显示出来,分别用while,do...while,for循环语句实现1#include<iostream>//for循环语句的实现2#include<cmath>3usingnamespacestd;4intmain()5{6inti,k,m;7for(k=2;k<=100;k++)//从2~1......
  • flask的基础使用
    基于django,flask的自动化运维项目flask入门级教程https://tutorial.helloflask.com/preface/在Linux系统中部署flask并使用准备工作:python3.6版本以上,pycharm或vscode,chrome浏览器,github账号$cdwatchlist$python3--version #查看python3版本Python3.9.10$git-......
  • C++第二章课后练习 2-26
    实现一个简单的菜单程序,运行时显示“Menu:A(dd) D(elete)S(ort)Q(ui Select one:”提示用户输入,A表示增加,D表示删除,S表示排序,Q表示退出,输入为A、D、S时分别提示“数据已经增加、删除、排序。”输入为Q时程序结束。(1)要求使用if…else语句进行判断,用break、continue 控制程序流程......
  • LCD01-基础概念
           1.亚像素控制灰阶显示不同颜色2.利用视觉暂留效应通过控制像素显示时间来显示不同颜色ViewCode  Ø为液晶偏转角度45度  sin(90)通过的光线最强  0度为不透光   lcd取向薄膜的作用LCD(液晶显示器)取向薄膜是制造LCD的关键组件之......
  • 计算机基础知识试题及答案(怀旧用)
    第一部分一、单项选择题1.世界上第一台电子数字计算机取名为()。A.UNIVACB.EDSACC.ENIACD.EDVAC2.操作系统的作用是()。A.把源程序翻译成目标程序B.进行数据处理C.控制和管理系统资源的使用D.实现软硬件的转换3.个人计算机简称为PC机,这......
  • C语言数组基础知识(关于索引)
    #include<stdio.h>intmain(){inti;//遍历输出分别值inta[]={1,2,3,4,5};for(i=0;i<5;i++){printf("%d\t",a[i]);//12345};printf("\n");//若给的值不够就用0补齐......
  • 新员工入职,前端基础环境变量的配置!node、nvm、vue-cli的安装和下载
    1.安装nvm及配置首先下载nvm不要下载node,如果电脑已经有node的话需要卸载node,并使用命令提示符来查看node的位置(wherenode)手动删除nvm下载链接:https://nvm.uihtm.com/下载最新版本,next傻瓜式操作(需要注意的是)选择node.js文件位置,如果需要更改,请在这里进行更改......