首页 > 其他分享 >指针强制类型转换的本质

指针强制类型转换的本质

时间:2023-11-29 22:46:23浏览次数:108  
标签:类型转换 cnt int ll long ans 强制 指针

例题:

#include <iostream>
#include <stdio.h>
#define ll long long
using namespace std;
int ans[100];
int main(){
	double d;
	cin >> d;
	ll p=*(ll *)&d;
	int cnt=0;
    for(;cnt<64;)
    {
        ans[++cnt]=p&1;
        p>>=1;
    }
    for(int i=cnt;i>=1;i--)
    printf("%d",ans[i]);
	return 0;
} 

以上代码就算是负数也可以的

但是如果把上面代码的ll p=*(ll *)&d;改成int p=*(int *)&d;会输出什么?

此时会p的机器表示是d的机器表示的后三十二位

标签:类型转换,cnt,int,ll,long,ans,强制,指针
From: https://www.cnblogs.com/dingxingdi/p/17866088.html

相关文章

  • 指针的注意事项
    1.如果在代码里面这么写char*cp="123";...if(*cp)...if(!*cp)...第一个if指cp这个指针当前指向的地址是否是cp最开始指向的字符串的有效位里面(不包含'\0')第二个if当然就是反过来了2.如果常量指针(const)要赋值给普通指针,必须加上显式类型转换,比如constint*p=&x;int*......
  • 刷题复习(一)链表-双指针
    刷题复习(一)链表-双指针https://labuladong.gitee.io/algo/di-ling-zh-bfe1b/shuang-zhi-0f7cc/1、合并两个有序链表思路清晰,双链表有个根节点记录开头/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}......
  • 指针和引用
    难易度:简单备考建议指针是无法在复赛考察的,所以在初赛考察的可能性大,大家平常写题目又不用,所以在初赛备考时应该引起重视。结合2023新修订的考试大纲。除了指针本身的概念,涉及到指针的知识点共有3个:1.基于指针的数组元素访问2.字符指针3.指向结构体的指针什么是指......
  • c语言中函数指针用法
    #include<stdio.h>#defineMAX10voidswap(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;}voidfun(int*height,int*age){intn=10;*height=n*10;*age=n*2000;}int*createArray(intsize){......
  • selenium之三种等待,强制等待、隐式等待和显式等待
      显式等待presence_of_element_locatedpresence_of_all_elements_locatedvisibility_of_any_elements_located  判断页面至少有一个元素可见visible,传入locator,一旦定位就返回thelistoflocatedWebElements;  不可见(元素隐藏或是完全不存在,一个都没有)返回的是......
  • 类型转换
    Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换运算中,不同类型的数据先转换为同一类型,然后进行运算强制类型转换,使用方法(类型)变量名,高--低自动类型转换,低--高浮点类型的优先级一定高于整数类型不能对布尔值进行转换不能把对象类型转换为不相干的类型在把高容量转换......
  • 【Cxx 20】使用 std::span 代替数组指针传参
    我们知道std::string_view可以创建std::string的一个视图,视图本身并不拥有实例,它只是保持视图映射的状态。在不修改实例的情况下,使用std::string_view会让字符串处理的性能大幅提升。实际上,对于那些连续的序列对象我们都可以创建这样一份视图,对于std::vector这样的对象可以提高某......
  • 结构体中的指针
    结构体中的函数指针C++中面向对象的实现过程,其实是在结构体中加入函数指针用来调用成员函数的;函数指针详解include<stdio.h>typedefvoid(*PRINT)(struct*pMM);//声明一个函数指针,这个函数指针的参数为struct*pMM类型的structMM{ intage; char*name; *PRINTpPri......
  • 不要轻易定义指向std::vector中的元素的指针
    类应该是被封装的,类的用户通过接口使用类提供的功能,而不必关心类的内部如何实现。然而,C++标准库容器std::vector的实现渗透到了接口中来。对于以下代码:constintpushNum=10;std::vector<int>v={1,2,3};int*p=&v[1];std::cout<<"*p="<<*p......
  • 小白指针(七)--------新手入门
    我们之前讲了很多。但是指针的路还需要继续往下走,其实也快结束了,学习就是一种坚持的路,只有往前走才能学到更多,看到更多。(。・ω・。),今天的可能比前面的多,请耐心学习,谢谢在指针更新完之后我会将指针的内容,整理发一片这里是指针的快结束了,这里的一节结束还有最后有一片文章了,朋友们加油呀!一......