生活小常识

生活小常识,第1张

生活小常识

饮食类

1.吃烧烤加柠檬解毒 烤肉时,若将肉直接放在肉架上,除了彻底烤熟外,烤焦部分应丢弃,以免吃到致癌物!食用前,记得滴上新鲜柠檬汁,除了增添风味外,柠檬中的vitC上有解毒作用! 2.幼儿饮糖水防便秘 家中得幼儿,容易有挑嘴偏食的坏习惯,常引发腹账便秘的现象!不彷用一平匙的红糖,混合100cc的温开水,搅拌均匀,让孩子慢慢喝下,再以顺时钟方向像肚腹处,轻轻按摩,不久,孩童便可以顺利排便! 3.牙膏涂抹葡萄更干净 吃葡萄时,先拿剪刀减到根蒂部分,使其保留完整颗粒,并浸泡稀释过的盐水,达到消菌的效果,冲洗干净表面还残留一层白膜,可挤些牙膏,把葡萄置于手掌间,轻加搓揉,过清水之后,便能完全晶莹剔透,吃起来更安心! 4. 红糖可清经期恶露 当月经来潮时,将结束前两日,可用半斤红糖(即黑糖)泡开水(冷热皆宜)当茶饮用如此就能把子宫里的恶露清除干净!对妇女而言是最简易的保健法!

鲜花保养

1.清水加白醋为花朵延寿 炎炎夏日,鲜花买回家后容易枯萎,不彷清水中加几滴白醋或漂白水,花枝底部再修剪一下,即可使花朵延年益寿喔! 2.鲜花寿命延长小妙招 鲜花固然漂亮,但寿命有限,可以用一些小妙招增加花儿的寿命。 (1)把花底部用刀切成斜面。 (2)养花儿的水中加入雪碧。 (3)只可以加入雪碧,不可以是其他的汽水。

编辑本段头部相关

1.发生头痛、头晕时,可在太阳穴涂上牙膏,因为牙膏含有薄荷脑、丁香油可镇痛 2.头痛时把苹果磨成泥状涂在纱布上,贴在头痛处,症状可减轻

口腔部位

1.牙齿黄,可以把花生嚼碎后含在嘴里,并刷牙三分钟,很有效 2.吃了有异味的东西,如大蒜、臭豆腐,吃几颗花生米就好了 3.若有小面积皮肤损伤或者烧伤、烫伤,抹上少许牙膏,可立即止血止痛; 4.嘴里有溃疡,就用维生素C贴在溃疡处,等它溶化后溃疡基本就好了 5.吃了辣的东西,感觉就要被辣死了,就往嘴里放上少许盐,含一下,漱下口,就不辣了

眼部

1.仰头点眼药水时微微张嘴,这样眼睛就不会乱眨了; 2.眼睛进了小灰尘,闭上眼睛用力咳嗽几下,灰尘就会自己出来

鼻子

1.洗完脸后,用手指沾些细盐在鼻头两侧轻轻按摩,然后再用清水冲洗,黑头和粉刺就会清除干净,并且毛孔也会变小。 2.侧卧按摩可以治疗鼻塞,左侧鼻塞面向右躺下,右侧鼻塞面向左躺下,用食指和中指捏住鼻子,按摩鼻梁两侧迎香穴1-2分钟,鼻塞即可消除。

喉部

1.如果嗓子、牙龈发炎了,在晚上把西瓜切成小块,沾着盐吃,记得一定要是晚上,当时症状就会减轻,第二天就好了 2.打嗝时就喝点醋,立竿见影 3.治疗咳嗽,特别是干咳,晚上睡觉前,用纯芝麻香油煎鸡蛋,油放稍多些,什么调味料都不要放,趁热吃过就去睡觉,连吃几天效果很明显

健身减肥不正确习惯

1.锻炼模式一成不变

如果多年不改变锻炼模式,很容易造成经常锻炼的那部分肌肉劳损,而没有运动到的肌肉一直被忽视。 长此以往,很可能使身体不成比例的发展。而且,从心理上看,时常变换锻炼方式不仅使锻炼更加有效,而且更有新鲜感,也更容易坚持。

2.健身房里的马大哈

最好准备专门的健身软底鞋或厚棉袜,因为潮湿的健身房地毯很容易隐藏和滋生细菌,如足癣和足底疣。类似的还有公共更衣室和泳池的拖鞋,虽然都已消毒,但还是穿自己的最保险。

3.体重增加

如果你忽然间重了5斤,那么你一定比从前更容易感到累。 你做的每一个动作都要带着这些多余的赘肉进行。多余的体重也给心脏增加了负担和压力。除了定期锻炼外,还要注意健康饮食,少吃垃圾食品。因为你每减掉一斤赘肉,就为自己的身体减轻了一斤多余的负担。

4.对“高蛋白减肥法”的误解

一种比较流行的减肥观念认为:蛋白质和碳水化合物混合后会在体内滞留较长时间。如果只摄取一种,就会减少在体内滞留和被吸收的时间,从而达到减肥的效果。孰不知碳水化合物是身体能量的主要来源,如果缺乏会导致疲劳和脱水,提供丰富维生素和纤维的蔬菜和水果也不可或缺。无论用什么方法减肥,都必须保证每天摄入的谷物、蔬菜和水果占到总摄入量的55%以上。

5.不稳定的体重

每天测体重是个好习惯,可是为什么体重总无缘无故地发生变化?原来体内水分的变化使体重在一天中有 1~3公斤的增减幅度。也许你增加的两斤是因为刚刚喝完的那壶茶。所以每天固定在早晨刚起床后尚未进食时测出的体重是比较准确的。

6.运动过量

每天抽出5分钟锻炼也比一个月或几个月疯狂运动一次好。 减肥的愿望是可以理解的,但你的身体也同样需要时间的适应和调整,关键不在于你一共运动了多少,想拥有完美的体形,贵在坚持。而且运动过量还会造成肌肉受伤。

编辑本段其它身体健康相关不正确习惯

1.身体总处于缺水状态

身体轻微缺水会导致疲劳,因为缺水时血流量减低,而这时心脏不得不增加跳动的次数和力度以确保有充足的供血量。所以,不要等到口渴的时候才喝水,因为当你感到口渴时,你的身体已经失去了2%~3%的水分。平时吃饭的时候也应该多喝汤,或吃些高水分的水果和蔬菜,以便每天确保8~9杯水的摄入量。

2.很久没有全面体检

很多疾病在萌芽时期的表现都不明显,每年定期体检可以帮助你及早发现、及时治疗。医生的建议是:至少一年一次骨盆检查、分泌物涂片检查、临床乳房检查和性病检测至少两年一次血压检查和皮肤检查至少5年一次胆固醇和眼部检查。

3.不知道如何与医生交谈

懂得如何与医生交谈能更快让他了解你的病情。比如你经常头痛,除了记下是从何时开始、每次持续多久等症状外,还应尽量记录最近的体温变化、生理周期是否正常等。你提供的信息越多,越有利于医生诊断你的病情。

4.不关心牙齿健康

牙齿健康是社会整体文明程度的标志之一。也许你的牙齿从未出现过问题,或者因为某次“恐怖经历”而害怕看牙医。但无论怎样,保证每年做一次牙科检查和至少洗一次牙都是必要的。拥有一口健康洁白的牙齿能让你的笑容更灿烂。

5.高跟鞋的美丽错误

高跟鞋问世以来一直备受女性的青睐。但鞋跟在7cm以上的高跟鞋使人体重心自然前移,给膝关节造成了压力。研究发现:膝部压力过大是导致关节炎的直接原因之一。另外,如果身体重量过多集中在前脚掌上,趾骨也会因为负担过重而变粗。科学证明,过高的高跟鞋还是跟腱和脊椎骨变形的罪魁。据统计,喜欢穿高跟鞋的英国妇女中有62%的人都患有不同程度的上述疾病。

6.呼吸太浅

人们平时的呼吸总是太浅。这样血管里含的氧气水平就低于二氧化碳水平,人因此就会感到疲惫。如果血液中氧气不足,就会心跳加速、血压升高。这对人的身体是很不利的,所以应该每天多做几次深呼吸。

7.长期用冷水刷牙

资料表明:人的牙齿最适应35~36.5℃的温度,如果经常用冷水刺激牙齿将导致牙龈出血、牙髓痉挛或其他牙病的发生。牙齿的寿命平均比人的寿命短10年以上,根源便出在“凉水刷牙”的习惯上。

8.忘记更换牙刷

服役过长的牙刷刷毛变形,不但不能有效地清洁牙齿,还经常戳伤了牙龈。牙刷的最长使用期限是半年,口腔医生建议:3个月更换一次牙刷。

9.疏忽健康保险

20~35岁的女性一般健康状况较好,容易忽视健康保险。而此间一旦出现紧急情况就难以应付。所以未雨绸缪就显得尤其重要了。建议选择保费较低的纯保障型寿险附加住院医疗、预防癌险等险种,保金额度占年收入的7~10倍、总保费支出占收入的1/10左右比较合适。

10.只在用餐前洗手

很多专家认为,最有效的减少疾病的方法就是勤洗手。仅在餐前洗手显然是不够的,去过卫生间,打喷嚏、咳嗽和擦完鼻涕以及抚摩完小动物后都应及时洗手,要勤洗手。

11.“从一而终”的床垫

我们经常更换床单和枕巾,却容易忽视床垫的清洁。每个季度要清理一次床垫,每年至少要有一次把床垫晾晒2小时。床垫脏了,要用肥皂和清水洗涤,不要用汽油或清洁剂。而且每使用半年后要将床垫的前后位置调换一下。

12.特殊日子的暴躁女司机

女性的生理期也会影响驾驶安全。因为经期的女人脾气比平日更暴躁易怒。驾车需要长时间保持一种坐姿,而且要求精力集中,这样就使生理期的反应更加严重。此时应该多吃些含铁丰富的食品,在车里播放轻松悦耳的音乐,并注意保暖,避免长时间驾驶。如果实在反应剧烈,就先告别驾驶座吧。

13.忽视早餐

有些人不吃早餐,因为他们早晨起床后感觉不饿。这也是一个很不好的习惯。科学的进食原则应该是:早餐要吃得像个国王,午餐要吃得像个王子,晚餐要吃得像个乞丐。所以早餐不仅要吃,还要吃得丰盛。

14.习惯翘二郎腿

最近,美国医生发起“让妇女们放下二郎腿一天”的活动。原因是太多长期久坐的职业女性们都患有不同程度的下背痛,直接原因就是翘二郎腿的坏习惯。根据调查发现:长期翘二郎腿还容易易引起弯腰驼背,造成腰椎与胸椎压力分布不均,长此以往,势必压迫脊椎神经,而且翘二郎腿还会妨碍腿部血液循环,造成腿部静脉曲张。所以,还是赶紧把二郎腿放下来吧!

15.用饮料送服药物

我们很早就知道不能用茶水服药,因为茶叶中的化学元素可能影响药效,其实饮料也有同样的问题,比如葡萄汁、可乐和咖啡。最好的服药方法还是用温度适中的白开水。

16.直接试用柜台的化妆品

化妆品柜台的唇膏已被上百人试过,如果在试用时不注意,就很可能染上疾病。无论是口红、眼影、睫毛膏等等,还是在手背和手腕上试用比较安全。

17.不了解叶酸

叶酸是维生素的一种,对胎儿神经管形成至关重要。育龄女性在决定要宝宝之前就应补充适量的叶酸,最好每天补充400毫克,怀孕期间的妇女则要增加到600毫克,哺乳期妇女每天500毫克。蔬菜、豆类、橙汁和坚果中都富含丰富的天然叶酸。

18.香水造成的美丽伤害

香水中的檀香油、麝香和柠檬香及酒精等化学成分,在阳光照射下可能分解出有害物质,使皮肤灼痛、出疹甚至发炎。所以在喷香水时尽量避免直接喷在皮肤上太多,喷在衣服上也同样可以香气袭人。

编辑本段情绪工作相关不正确习惯

1.很久不曾开怀大笑

激烈的竞争使现代生活充满了压力,大笑是减缓压力最自然、最有效的方式。 10年前科学家发现人体每天都生成3000多个癌细胞,还有50亿个能及时消灭癌细胞的“杀伤者细胞”。刚刚大笑完的人体内杀伤者细胞会明显增加,真可谓是 “笑”益显著。

2.冷漠的办公室气氛

工作本身的压力就足以让人感到紧张了,如果你与某个同事相处关系不妙,甚至成了死对头的话,那办公室气氛就更加压抑。与其花费时间去贬低对方,不如冷静下来把关系理顺。一个和谐的工作气氛不但让你心里感觉舒服,对工作效率也会有所促进。

3.不给自己“情绪化”的机会

从心理健康的角度来看,长期积压怒气会影响身心健康,怒气长时间得不到排解就可能变成忧郁情绪。一个懂得如何发脾气、正确发泄自己不满的女性才是一个心理成熟、健康的女性。喜怒哀乐本是人之常情,没有理由强迫自己控制情绪而忽视甚至是否定自己的感受,关键在于找准渠道。

4.整天工作,没有休息

长时间从事一种工作会让人感到无聊,而无聊恰恰让身体感到疲惫。每天都应该尽可能地为自己找点儿乐,例如:看看笑话,翻翻休闲杂志,给好朋友打个电话。 让自己偶然做做白日梦等一些能让自己轻松的事情。

编辑本段健康常识急救常识

1.处理鱼刺卡喉五法

①吞咽橙皮 鱼刺鲠喉时,可剥取橙皮,块窄一点,含着慢慢咽下,可化解鱼骨。 ②用维生素C软化 细小鱼刺鲠喉,可取维生素C1片,含服,徐徐咽下,数分钟后,鱼刺就会软化消除。 ③饮鸭涎水 取活鸭子1只,倒捉鸭脚让其鸣叫,流出口涎,用干净杯碗接盛,慢慢喝下滋润喉咙,细小鱼刺很快便会溶化。 ④饮井水 鱼刺卡喉,如果喝醋也不见效,可在次日清晨,喝1碗井水,即可消除鱼刺。 ⑤饮橄榄核水 用橄榄核磨水服下,可以消除鱼刺。

2.小腿抽筋急救法

①在游泳时发生小腿抽筋时,一定不要慌张,先深吸一口气,把头潜入水中,然后像海蜇一样,使背部浮在水面,两手抓住脚尖,用力向自身方向拉。一次不行的话,可反复几次,肌肉就会慢慢松弛而恢复原状。如果逞强硬想上岸,往往会适得其反而溺毙。所以,在游泳时即使不发生抽筋,也要反复练习这种急救方法。 ②在日常生活中,小腿抽筋的病症也时常发生,此时,可迅速地掐压手上合谷穴(即手臂虎口、第一掌骨与二掌骨中间陷处)和上嘴唇的人中穴(即上嘴唇正中近上方处)。掐压20-30秒钟之后,疼痛即会缓解,肌肉会松弛,其有效率可达90%。如果再配合用热手巾按揉,用手按摩,效果会更好。

3.交通事故中的头部外伤急救法

①发现受伤者,应尽快检查头部有无外伤,是否处于危险状态。最重要的是不要随便移动患者,并按以下程序迅速抢救: a取昏睡体位:即让负伤者侧卧,头向后仰,保证呼吸道畅通。 b若呼吸停止则进行人工呼吸,若脉搏消失则进行心脏按摩。 c若头皮出血时,用纱布等干净直接压迫止血。 ②如果头受伤后,有血液和脑脊液从鼻、耳流出,就一定要负伤者平卧,患侧向下。即左耳、鼻流出脑脊液时左侧向下,右侧流时右侧向下。如果喉和鼻大量出血,则容易引起呼吸困难,应让受伤者取昏睡体位,以使其呼吸方便。 注意事项 1.受伤后光有头痛头晕,说明是轻伤;除此外还有瞳孔散大,偏瘫或者抽风,那至少是中等以上的脑伤了。 2.脑外伤病人一旦出现频繁呕吐、头痛剧烈和神志不清等症状,那就决不可大意,应速送医院诊治。 3.受伤后如有脑脊液流出时,最好不要用纱布、脱脂棉等塞在鼻腔或外耳道内,因为这样地引起感染。

4.狂犬病急救法

①被病狗咬伤后,应立即冲洗伤口。关键是洗的方法。因为伤口像瓣膜一样多半是闭合着,所以必须掰开伤口进行冲洗。用自来水对着伤口冲洗虽然有点痛,但也要忍痛仔细地冲洗干净,这样才能防止感染。冲洗之后要用干净的纱布把伤口盖上,速去医院诊治。 ②被疯狗咬伤后,即使是再小的伤口,也有感染狂犬病的可能,同时可感染破伤风,伤口易化脓。患者应向医生要求注射狂犬病疫苗和破伤风抗毒素预防针。 注意事项 1.被病狗咬伤是很危险的,经常有光怪陆离被咬伤后或养狗人被咬伤后,发生破伤风而死亡。 2.温血动物,包括人在内,牙齿上有各种细菌和病毒生存,狗咬伤的伤口深而且形状复杂,恰好适于细菌繁殖,这也是发生破伤风之类疾病的道理。 3.一般家庭最好不要养狗,发现病狗要严格处理,特别是患狂犬病的病狗应立即击毙。

编辑本段5.小面积皮肤烧伤烫伤的正确处理办法

在家里被开水烫伤或被火烧伤的事时有发生,偶尔也会有电击伤和化学性烧伤。该怎样处理小面积的烧、烫伤呢? 一般来讲,将手指并拢之后的掌面和背面的面积之和约为自身面积的1%。通常,烧伤面积在1%以下,且只伤及表皮和真皮层者,可在家自行处理。 小面积烧伤抹上少许牙膏。 常见的处理办法是: 1.如果烧伤的部位是头和颈部,则不用包扎,应采用暴露疗法,只在创面涂以烧伤药膏即可,但不可让鼻涕、眼泪、唾液污染创面。一旦创面遭到严重污染,必要时,应到医院注射破伤风抗毒素和抗生素,以控制感染。 2.如果烧伤后,水泡已破,且局部被脏物污染,则应用生理盐水冲洗,周围也应清洁消毒,然后在创面盖凡士林纱布和无菌纱布包扎,每2—3日换药一次。 3.如果烧伤后有水泡形成,最好不要刺破水泡,以免感染,如水泡较大需要到医院请医生处理。 4.对于小面积轻度烧伤,可用冷水及时冲洗局部,以降低温度,减轻痛感与肿胀。如果烧伤的局部很脏,可用肥皂水冲洗,但不可用力擦洗;蘸干水后,再涂上烫伤膏、红花油等药品。 5.在厨房烫伤时,可用冷水冲洗降温,蘸干水后,抹上食醋保证不会起水泡,如果感觉很痛可以多抹几次,一段时间后自动脱皮不留疤痕。 建议大家家中常备一支烫伤膏,在发生小面积烫伤时,涂抹在患处,可以消炎止痛,帮助恢复。 轻微烫伤在日常生活中很常见,人们往往认为自行处理即可,但是如果操作不当,有可能造成严重伤害或错过改善预后的最佳时机。下面我们来介绍一些烫伤的家庭处理误区,以帮助和提示那些遇到烫伤而手足无措的人们。 生活习惯常识 1.常吃宵夜。会得胃癌。 因为胃得不到休息  2.一个星期只能吃四颗蛋。吃太多。对身体不好  3.鸡的臀部含有致癌物,不要吃较好  4.饭后吃水果是错误的观念。应是饭前吃水果  5.晚上睡觉前不要喝水,可能第二天出现眼带浮肿  6.喝豆浆时不要加鸡蛋及糖。也不要喝太多  7.空腹时不要吃蕃茄,最好饭后吃  8.早上醒来。先喝一杯水。预防结石  9.睡前三小时不要吃东西。会胖  10.少喝奶茶。因为高热量。高油。没有营养价值可言。长期饮用。易罹患高血压。糖尿病。等疾病  11.刚出炉的面包不宜马上食用  12.远离充电座。人体应远离30公分以上。切忌放在床边  13.天天喝水八大杯  14.每天十杯水。膀胱癌不会来  15.白天多喝水。晚上少喝水  16.一天不要喝两杯以上的咖啡。喝太多易导致失眠,胃痛  17.多油脂的食物少吃。因为得花5~7小时去消化,并使脑中血液集中到肠胃。易昏昏欲睡  18.下午五点后。大餐少少吃,因为五点后身体不需那么多能量  19.10种吃了会快乐的食物:深海鱼,香蕉,葡萄柚,全麦面包,菠菜,大蒜,南瓜,低脂牛奶,鸡肉,樱桃  20.睡眠不足会变笨,一天须八小时睡眠,有午睡习惯较不会老  21.最佳睡眠时间是在晚上10点.清晨6点  22.每天喝酒不要超过一杯,因为酒精会抑制制造抗体的B细胞,增加细菌感染的机会  23.服用胶囊应以冷水吞服(可以第一个吃), 睡前30分先服药。忌立即躺下  24.酸梅具防止老化作用,青春永驻;肝火有毛病者宜多食用  25.掉发因素:熬夜,压力,烟酒,香鸡排。麻辣锅。油腻食物。调味过重的料理  26.帮助头发生长:多食用包心菜,蛋。豆类;少吃甜食(尤其是果糖)  27.每天一杯柠檬汁,柳橙汁。不但可以美白还可以淡化黑斑  28.苹果是机车族、瘾君子、家庭主妇的常备良药,一天一颗,才能让自己有个干干净净的肺  29.抽烟又吃维他命(B胡萝卜素-A维他命的一种),会致癌,尽早戒烟。才是最健康的做法  30、女性不宜喝茶的五个时期:月经来时,孕妇,临产前。生产完后,更年期  31.抽烟,关系最大的是肺癌,唇癌,舌癌,喉癌,食道癌,也与膀胱癌有关  32.饮酒导致肝硬化。引发肝癌  33.吃槟榔会导致口腔纤维化,口腔癌  34.食物过于精细,缺乏纤维;含大量脂肪,尤其是胆固醇会引发胃癌 35.食物过于粗糙,营养不足时导致食道癌,胃癌  36.食品中的黄曲毒素。亚硝酸类物皆具有致癌性  37.不抽烟。拒吸二手烟  38.适量饮酒,不拚酒。不醉酒  39.减少食用盐腌。烟熏,烧烤的食物  40、每天摄取新鲜的蔬菜与水果  41.每天摄取富含高纤维的五谷类及豆类  42.每天摄取均衡的饮食,不过量  43.维持理想体重。不过胖  44.保持规律的生活与运动  45.保持轻松愉快的心情  46.正确饮食习惯:早上吃的像皇帝,中午吃的像平民,晚上吃的像乞丐 47香蕉可防辐射。

如下:

1、用手暖暖女朋友的肚子,对她说:来大姨妈这几天如果实在不舒服的话,看看能不能请个假休息下,不要担心请假被扣工资,我双倍给你补上可行?

另外这几天不许碰冷水,你换下了的衣服留着等我来洗,这几天适合你吃的食谱我已经准备好了你乖乖吃就好,这里下了几部你想要看的喜剧我陪你一起看,这个盒子里是给你准备的礼物……一天只能拆一个噢。

2、亲爱的,我听说女生大姨妈期间比较情绪化,容易生气,你生气了千万别憋着,容易出毛病,想干嘛就跟我说,不开心要告诉我。我一定能想办法帮你缓解的。

3、我给你准备了红糖姜茶别忘记喝,还有大姨妈这几天就别老吃零食了多吃点饭,别做剧烈运动别乱跑。白天的时候我上班不在你身边,要把自己照顾好。最后:辛苦你了,下班回家之后我会一直陪着你的。

4、如果大姨妈来了肚子不舒服的话,照我说的做:快把手机开震动,我打电话别接,放在肚子上,当我在给你揉。

CSAPP的图示和问题中,我们很小心的把32(TMin32)位有符号最小值写作-2147483647-1,为什么我们不直接写成-2147483648或0x80000000呢?不妨先打开limits.h头文件看看吧,你会发现它们也是用类似的诡异形式

ISO90:

Decimal:int|long | unsigned|long long

Hexadecimal:int|unsigned|long|unsigned long

ISO99:

Decimal:int|long| long long

Hexadecimal:int|unsigned|long|unsigned long|long long|unsigned long long

上面的表格是整形常量数据类型表示,根据语言版本和格式(10进制和16进制),常量的数据类型会从上面表格里选择第一个最合适的类型。

因此,根据上述标准的话,我们可以得到如下结论:

ISO90:ISO 99:

常量表达式-2147483648 0x80000000-2147483648 0x80000000

32位unsigned unsignedlonglongunsigned

64位long unsignedlong unsigned

上面的表格是TMin32的数据类型表示。根据语言版本和格式,我们获得了这两种表达式的三种不同的数据类型,注意里面包括非负值值

因此定义signed int的最大值和最小值,采用如下方式

#defineINT_MAX 2147483647

#defineINT_MIN -INT_MAX-1

很不幸的因为二进制补码的数值表示不对称性,我们不得不在C语言中如此怪异地定义TMin,尽管要理解这点我们必须挖掘C预言标准中最阴暗的角落之一,这也有助于让我们更好的鉴识整形的数据类型和表示方法。

假如我们直接将TMin定义为-2147483648,那么在32位机器上编译这样的代码,编译器遇到型如-X的数值,它首先会确定X的数据类型,然后取X的负数。而2147483648对于int类型是在太大了,编译器就会再次尝试一种类型可以正确的表示此值。然后它就会按照第一个表格的顺序往下继续尝试类型,再假设编译器采用的标准是ISOC90,int的下一个类型是long,再下一个是unsigned,然后就发现unsigned是第一个合适的数据类型。正如我们知道的,21473648和-2147483648在32位数值上拥有同样的内存表示,这也导致此常量的数据类型是unsigned且值为2147483648。而ISOC99的情况则是按照上述规则数据类型为long long才能容纳2147483648。64位的情况因为2147483648与-2147483648可以表达为不同的内存表示,所以仍然按照规矩来此常量的数据类型为longlong值为-2147483648。

对于十六进制的的情况,常量0x80000000在32位机器上,编译器仍然是遵照类似的规则。无论是ISOC90还是ISOC99,都首先和TMax32(即0x7FFFFFFF)比较,发现较大后,得知int无法容纳本常量,接下去照着表格1就是UMax32(即0xFFFFFFFF),发现较小,就选择了unsigned作为本常量的数据类型,因此,常量0x80000000的数据类型是unsigned的,且值为0x80000000(或者说与2147483648相同)。

事情在64位机器上稍微有些不同,无论哪个语言版本,十进制表示的TMin都是数据类型long(64位长),值为-21473648,而十六进制表示的TMin则是数据类型unsigned,值为0x80000000(与2147483648相同)。

经过上述分析后,我们就可以得到表格2了,当数据类型为long或long long的时候,常量是负的,但它也就成了64位长。而当数据类型为unsigned时,此常量时正的32位长。用下面的代码就可以表示

intdcmp = (-2147483648 <0)

inthcmp = (0x80000000 <0)

上面代码尝试测试十进制和十六进制表示的TMin常量是否小于0。二者取决于编译器采用的语言版本以及字长,我们发现dcomp的值有时为0有时为1,也就是十进制表示的TMin有时候为正的有时候为负的,而hcomp的值一直是0,也就是十六进制表示的TMin永远为正的。这个简单写32位有符号最小值常量的任务比我们想象中要困难的多。(据我个人测试,VC2008在32位机器上,十进制的TMin会被认为是unsigned,而gcc在64位机器上,无论是C90还是C99都认为是long,而十六进制的TMin无论字长还是编译器都一致认为是unsigned)

问题1:

考虑如下代码:

intdtmin = -2147483648

intdcomp2 = (dtmin <0)

inthtmin = 0x80000000

inthcomp2 = (htmin <0)

无论我们在32位还是64位机器,语言版本是C90还是C99,始终dcomp2和hcomp2都为1,进一步直接将dtmin以及htmin和TMin比较都是相等的,解释这为何没有像之前一样对常量有微妙的区别。

2.启示

对于大多数程序,因为字长和语言版本的不同导致的歧义并不会影响程序行为。不过我们现在已经可以了解为何将TMin32写成-2147483647-1可以获得更想要的结果了。因为TMax32的值2147483647本来就可以表示成int,所以没必要对其做类似的改写。

问题2:

假如我们把TMin32写成-0x7FFFFFFF-1,那么对于不同的字长和不同的语言版本,编译器是否会对TMin都确定同样的int数据类型呢?并尝试解释。

问题3:

你相要写一个有效的TMinW表达式,W是数值的long int类型的位数。因为数据类型在不同的机器上大小也不相同,你决定使用sizeof操作符,那么只要W是8的倍数,TMinW的表达式就呼之欲出,同时你还想来点小花招,你知道乘以8和左移3位是等效的。

你最先是这些尝试的:

/*警告,下面的代码有bug*/

/*讲1左移8*sizeof(long)-1位*/

1L<<sizeof(long) <<3 -1

你把这段代码在32位机器上测试,发现结果为64

A.解释这是为什么

B.同样的代码在64位机器上结果是多少

C.做尽可能少的修改让其正确运作

如果懒得看我就简短说一下大意,为什么要特意把32位int的最小值常量写成-2147483647-1而不是-2147483648是因为编译器遇到-X这样的常量是先获得X的值与类型,然后再对其取负,而对于32位以上机器的所有int类型都容不下2147483648这么大,所以会再寻找更合适的数据类型来表示,而寻找合适类型这步在不同的C语言版本,不同的平台,不同的表示格式都有不同的适配顺序,这就导致了如果直接写-2147483648可能会是unsigned的,可能会是long还可能会是long long型的,故用-2147483647-1的形式来消弭此歧义。

问题的解答也没什么好说的,第一个其实就是最后来了步隐式转换,不管常量是什么类型,转化为int后那始终是-2147483648的字面值。第二题的原理就是-2147483647-1一样,自然是正确的。第三题只要改写成1L<<(sizeof(long) <<3 )-1即可,运算符优先级的问题。

发现自己正在走职业道路的下坡路,没有别的取巧方法,还是得从基础下手,提高关注度,从bit级别认识程序。

文章知识点与官方知识档案匹配

C技能树首页概览

111722 人正在系统学习中

点击阅读全文

打开CSDN,阅读体验更佳

TM4C1294主振荡器验证失效(MOSC失效)_text_in的博客

TM4C1294NCPDT微控制器提供了一个主振荡器校验电路。如果振荡器运行得太快或太慢,该电路会产生一个错误条件。如果主振荡器校验电路被启用并产生一个错误,此时会产生一个上电复位并将控制权交给 NMI处理程序,或产生中断。MOSCCTL寄存器...

C语言中补码的整数运算特性_RMSnow的博客

证明:假设B2T ([11···1]) 共有w位,则其值为-2^(w-1) + 2^(w-2) + ··· + 2^0. 根据等比数列求和公式,易证该值为-1. 定理2 对于w位的补码B2T来说,其边界值Tmax与Tmin分别为: ...

C语言中TMin的写法

在看《深入理解计算机系统》第二版中文版时(Computer Systems A Programmer's Perspective Second Edititon),看到48页第二章网络旁注中提到:C语言中,将TMin32(32位有符号整数的最小值)写成 -2147483647-1。为什么不简单地写成 -2147483648 或者 0x80000000 ?书中提到是由于补码表示的不对称性和C...

继续访问

TM4C129X CRC校验功能使用问题

以前在嵌入式开发中进行CRC校验一般通过软件算法实现,TM4C1294自带CRC校验单元,但坑比较多,发出来供使用时参考 CRC单元只有一个寄存器,7个字段需要配置 INIT:初始值; SIZE: 选择校验数据是8位还是32位; RESINV:输出按位取反; OBR:输出字节反转,例如B0[7:0]-->B0[0:7] BR:输入字节反转,例如B0[7:0]-->B0[0:...

继续访问

深入理解计算机系统实验二datalab_super__cool的博客

tmin - return minimum two’s complement integer Legal ops: ! ~ &^ | + <<>>Max ops: 4 Rating: 1 */ 思路: 补码的最最小值为100……0后面全是0 代码: inttmin(void){//最小的二进制数return1<<31} ...

CSAPP:DataLab_吃着油条唱歌的博客

x = x | (x >>4)x = x | (x >>2)x = x | (x >>1)return ~x &0x1} tmin(void): 返回int最小值,我的答案是0x80000000,参考答案为:0x1<<31

C语言中基本数据类型细节

期中计组考完后,虽然成绩惨不忍睹,但暴露了一些一直以来不懂但又没暴露出来的问题,在此总结。 补码Select the two’s complement negation of the following binary value: 00110011: 从以下选项选择00110011的two’s complement negation(不知咋翻) (a) 11001100 (b) 110011

继续访问

【计算机系统学习-信息表示和处理】【二、整数表示】

整数的表示和运算。

继续访问

CMU CSAPP datalab_StaRS in EyeS的博客

tmin 注意到最小的整数特征是最高位为1其余为0 inttmin(void){return1<<31} 3.tmax 因为没有办法用位运算,所以想到往tmin的特殊性上靠 tmin 和 0 是仅有的取反运算之后还是本身的值 ...

CSAPP Lab1_Nava9的博客

~ &^ | + <<>>* 最多运算符数量: 4 * 分值: 1 */ int tmin(void) { return 1 <<31} 1 2 3 4 5 6 7 8 9 10 ​ 补码最小值为0x80000000,由于我们只能用到0xFF以下的格式,故将0x01向左移位31个...

最新发布 TMin - TMin是否产生溢出

而TMin的负仍为TMin,因此我认为TMin - TMin应该等同于TMin+TMin,所以自然算是产生了溢出。总结,出现这种纠结,还是对于溢出的定义理解不够深入,时,OF^SF和SF都被置为0。后,结果是:OF^SF被置为1,SF被置为0,即。)之后,OF=1,SF=0,则。的结果应该是1,所以得到了悖论。来进行判断的,因此我认为,...

继续访问

c语言 in他long,CSAPP 读书笔记:C语言中TMin的写法【转】

1.情景在CSAPP的图示和问题中,我们很小心的把32(TMin32)位有符号最小值写作-2147483647-1,为什么我们不直接写成-2147483648或0x80000000呢?不妨先打开limits.h头文件看看吧,你会发现它们也是用类似的诡异形式ISO90:Decimal: int | long | unsigned | long longHexadecimal: int | u...

继续访问

c语言中TMin的写法

在《CSAPP》中提到: #define INT_MAX 2147483647 #define INT_MIN (-INT_MAX -1) INT_MIN这样写的原因是: 虽然-2147483648 这个数值能够用int类型来表示,但在C语言中却没法写出对应这个数值的int类型常量。 因为按照c语言的类型推导,-2147483648被写成常量形式的时候,...

继续访问

c语言里面TMin不能写成-2147483648的原因

C语言中TMin的写法

继续访问

C TMin

阅读深入理解计算机系统一书的2.2.5一节, 作者提到了TMin的写法是:-2147483647-1,而不是-2147483648 并没有说原因,网上查了下,其中一篇文章说的比较详细,并且引入了权威解释的链接。 https://www.cnblogs.com/Jack47/archive/2013/01/06/TMin32-in-c.html 拷贝下重点就是:-2147483648这个常量...

继续访问

计算机系统实验--DataLab

湖南大学信息科学与工程学院计算机系统Lab2

继续访问

c语言 tm结构,C语言中tm时间结构体

struct tm{int tm_sec/* Seconds. [0-60] (1 leap second) */int tm_min/* Minutes. [0-59] */int tm_hour/* Hours. [0-23] */int tm_md...

继续访问

在c语言中写TMin

1.情景 在CSAPP的图示和问题中,我们很小心的把32(TMin32)位有符号最小值写作-2147483647-1,为什么我们不直接写成-2147483648或0x80000000呢? 不妨先打开limits.h头文件看看吧,你会发现它们也是用类似的诡异形式 ISO90: Decimal: int | long | unsigned | long long Hexade

继续访问

解决Nginx配置http2不生效,谷歌浏览器仍然采用http1.1协议问题

昨天一个网友通过QQ联系我,说按照我博客之前分享的http2配置教程不能生效,想请我帮忙看看。 经过测试,使用谷歌浏览器访问他的测试站点,确实没有开启http2,但他的配置和编译参数都正确的,这有点奇怪了。 不过昨天太忙就没有继续帮他分析,他只好将服务器账号和密码都留言给了我。今天中午我抽空在他服务器重新编译测试了一把,才发现原来是这么一个梗! 他在编译Nginx之前,使用的是yum安装

继续访问

基于模糊测试的分布式数据库安全研究(三)——afl-cmin、afl-tmin

前言 本次主要解决上次的问题三。为了引入更好的测试用例进行模糊测试,afl提供了两个工具afl-cmin、afl-tmin来进行语料库蒸馏。本文将对这两个工具进行介绍。 一、构建语料库 我们需要先构建一个该项目测试所需的语料库 第一个testcase里面放的是我自己瞎写的一个字符串, 把它多复制几份,每份都对里面进行一些修改,这7个测试样例就构成了我们本次实验的“语料库”了。 AFL功能纵使强大,也需要一个高效的执行速度。如果是普通的语料库作为测试用例,会出现很多无意义的测试,例如多个测试用例执行了同样的代

继续访问

curl使用curl_easy_perform导致线程或者进程卡死解决办法

描述:curl提供的curl_easy_perform调用方式是阻塞的,如果没有收到回复,则会导致线程或者进程一直阻塞,除非外界干预。 解决办法:curl提供了CURLOPT_LOW_SPEED_LIMIT CURLOPT_LOW_SPEED_TIME option,主要思想为:如果在指定时间传输速率超过设置的最低值,则会自动断开该链接。 举例: cu...

继续访问

ebtables官方文档翻译

官方文档:http://ebtables.netfilter.org/misc/ebtables-man.html 非权威翻译,大家辩证查阅。 描述: ebtables是一个创建和维护内核 嗅探Ethernet frame规则表格的应用程序,它类似iptables,但是没有它复杂,因为Ethernet协议相比ip协议更简单一点 CHAINS Linux内核内置了三种ebtables 表。这些表用来区分不同的功能规则,每一种规则的集合就叫做一个chain,每一个chain都是一个用来匹配Ethern

继续访问

热门推荐 datalab 数据表示实验

一直都想每天写博客,然后又经常拖,还有这个是作业,用的时间比较久,然后自己又是脑子不灵活的那种,所以写出来的东西可能会有很多错误,欢迎大家指出来交流交流,互相进步。下次实验室bomb,拆炸弹,不知道能不能坚持把它做完,加油~ 1、根据bits.c中的要求补全以下的函数: int bitXor(int x, int y)int tmin(void)int isTmax(int x)

继续访问

linux按位运算datalab-handout

进入bits.c ,根据bits.c中的具体要求补全以下13个函数: •intbitXor(intx, int y)•inttmin(void)•intisTmax(intx)•ntallOddBits(intx)•intnegate(int x)•intisAsciiDigit(intx)•intconditional(int x, inty, int z)

继续访问

int 为什么是2147483647_为什么宏INT_MIN要写成-2147483647-1

《深入理解计算机系统》在P105页,作者给出了INT_MIN在标准头文件limits.h中的定义#define INT_MAX 2147483647#define INT_MIN (-INT_MAX - 1)文中说,-2147483648是一个常量表达式,而不是一个常量。所以-2147483648被理解为一个“-”号和一个常量值2147483648。对于“-”,是对原值补码进行“取反加1”操作。对...


欢迎分享,转载请注明来源:优选云

原文地址:https://54852.com/hy/673306.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

随机推荐

  • 防掉发洗发水哪个好 掉头发用哪种洗发水好

    我们都知道,掉头发的原因有很多种,在我们平时的日常生活中,很多人都喜欢掉头发,掉头发是生活中很常见的一种现象,防掉发洗发水一直深受大家的欢迎与喜爱,那么防掉发洗发水哪个好?掉头发用哪种洗发水好?防掉发洗发水哪个好霸王BAWAMG 霸

    2023-12-14
    25000
  • 韩国美白精华液排行榜,有什么韩国好用的美白精华推荐吗

    韩国美白精华液排行榜一、后密贴循环精华液推荐理由:这个品牌的产品在亚洲很受欢迎。这种精华可以渗透到皮肤的最内层,促进血液循环,使皮肤由内而外显得通透。是的,一直是支撑这个品牌的产品。二、雪花秀郝明草本精华推荐理由:这款精华性价比极高。能在极

    2023-12-14
    22700
  • 柏氏适合什么年龄使用啊

    柏氏18~45岁的人都可以使用,但要注意选择适合自己年龄段的产品。柏氏目前共有16大产品系列,其中水库、飞翔,美之印,雪妃等系列,适合20-30岁的人,植物悦颜适合20岁以下的人,金卓颜是复颜抗皱系列的,适合35岁以上的人使用。可以根据自己

    2023-12-14
    23600
  • LAlVCOME是什么化妆品

    我觉得你说的可能是是法国的“兰蔻”品牌。兰蔻的标识是LANCOME,可能你把大写字母N看成了IV,logo如下图兰蔻(LANCOME)是化妆品行业中很有名的化妆品,品牌来自于法国,他家的护肤品(比如眼霜、面霜、精华之类)名声很响,比较出名的

    2023-12-14
    16300
  • 25岁到30岁用什么护肤品套装

    德科是岛国知名的美谛高丝集团旗下的顶级护肤品品牌。可以说闭着眼睛都能买到,不会错。紫苏水是众所周知的,它可以镇静和舒缓你的皮肤。据说是守口如瓶的法宝。黄檀系列保湿美白,最适合深色妹纸。还有精致系列的水乳,比黄檀更滋润更好吸收,适合干皮。总之

    2023-12-14
    22600
  • 资生堂小针管眼霜怎么用_资生堂小针管眼霜使用方法

    资生堂最近刚上市了全新悦薇珀翡塑颜抗皱霜,我立刻就下单购买了,拿回来才发现不会用。那么资生堂小针管眼霜怎么用下面提供资生堂小针管眼霜使用方法。使用方法于晚间保养流程之最后一步使用,轻取于指尖约一颗珍珠大小的用量(约02克)涂抹于肌肤

    2023-12-13
    17000
  • 百雀羚的防伪标志在哪

    在盒底。用户可以看包装。仿冒品包装箱上的印制日期和批号与箱内产品上的压印日期和批号不同。另外仿冒品包装瓶上的文字印刷字体比较粗,油墨有毛边且容易擦掉。注意事项:1、每星期要做一到两次面膜,给肌肤以深层的护理,才能起到更好的护肤效果。不同肌肤

    2023-12-13
    22100
  • 女装品牌大全有哪些

    国际女装品牌1、香奈儿(Chanel 法国著名奢侈品)香奈儿(Chanel)是一个法国奢侈品品牌,创始人是Coco Chanel(原名是Gabrielle Bonheur Chanel ,中文名是加布里埃·可可·香奈儿),该品牌于1910年

    2023-12-13
    14900
  • 用了佐丹兰护肤品,眼睛疲劳。犯困

    不要用了,这个品牌是小品牌,最好选择公认的大品牌。每个人的肌肤肤质不同,不同人的肌肤对化妆品的适应不同,使用效果也会不同。在不过敏的前提下,可以试用一个月左右,便可以感知这种化妆品适不适合自己。为了经济起见,过敏测试及前期试用,可以到专柜索

    2023-12-13
    14600

发表评论

登录后才能评论
保存