C++運算符與類型轉換

除法/

參與運算時,結果符號按照(++為+,–為+,-+或±為-),兩個都是整型結果直接去除小數部分

-3/1=-1
-3/-1=3
3/-1=3
除法
一律向0取整(即直接切除小數部分)。

取余%

參與運算為整型,結果符號和第一個相同(當結果不為0時)

/*
21%6=3
-21%6=-3
-21%-6=-3
參與取余的運算對象必須是整數類型。
如果m%n不等于0,則它的符號和m相同。
*/

邏輯運算符

&&邏輯與,當前一個結果為false時就不用看第二個
&繼續執行第二個
||邏輯或,當前一個結果為true時就不用看第二個
|繼續執行第二個
!邏輯非,false<—>true

~取反,0<---->1
^異或,相同為0,不同為1
&與,兩個為1,結果為1
|或,其中1個為1,結果為1
<<左移,乘2
|>>右移,除2
在這里插入圖片描述

其他

1.三目運算符
表達式?真:假;
x>y?2:4;
2.逗號運算符
int a=1,b=2,c;
c=a++,a+1,++b,b+1;
從左向右計算
c=4;

類型轉換

隱式類型轉換(自動類型轉換)

編譯器自動轉換
低----->高
char,short–>int—>unsigned—>long—>double<----float
char,short,int,long,float,double

1.將浮點數賦值給整型時,會舍棄浮點數小數部分
int n=6.92; n=6

2.將整型賦值給浮點數,數值不變,以浮點數形式存儲在變量中
double a=45; a=45.0

3.將字符型賦值給整型.將ASCII碼值給了整型
char b=‘A’;
int a=b; a=65;

顯式類型轉換(強制類型轉換)

高—>低
double b=78.00;
int x=(int)b; b=78;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/446825.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/446825.shtml
英文地址,請注明出處:http://en.pswp.cn/news/446825.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用named_mutex實現鎖機制

介紹 named_mutex是一個進程鎖&#xff0c;考慮到進程和線程之間的區別區別&#xff1a;一個工作單元要想被稱作進程&#xff0c;它必須要有操作系統指派給他的地址空間&#xff0c;必須擁有進程ID&#xff0c;必須擁有狀態和進程表中的表項。進程和線程之間最大的區別是進程有…

Android Studio 突然出現很多紅色波浪線或紅色感嘆號解決方案

最近在開發過程中&#xff0c;某次打開Android工程之后&#xff0c;代碼了出現大量的紅色波浪線報錯提示&#xff0c;但是工程確可以正常編譯、正常打包&#xff0c;嘗試了很多方法都無法去掉&#xff0c;最后找到了最有效的解決方案&#xff0c;步驟如下&#xff1a; 1、刪掉…

安卓常用布局學習

線性布局 布局方向 水平 android:orientation“horizontal” 垂直android:orientation“vertical” gravity對齊方式–center 布局權重:視圖中剩余部分的面積所占比例 android:layout_weight“1”(數字) 水平布局:android:layout_width“0dp” 垂直布局:android:layout_heigh…

Android Canvas繪制帶箭頭的直線

先看下效果圖&#xff1a; 下面我們直接看代碼 我自定義了一個View&#xff0c;代碼如下&#xff1a; package com.davis.drawtrangle;import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; imp…

使用named_mutex實現讀寫鎖,實現進程之間讀共享寫獨占

代碼 代碼的名稱是read_write_mutex.h這個代碼可用&#xff0c;但是未優化&#xff0c;還存在冗余的代碼如果涉及到進程掛掉了&#xff0c;造成進程堵塞&#xff0c;如何解決&#xff1f;還未涉及 //#ifndef BOOST_THREAD_PTHREAD_SHARED_MUTEX_HPP #define BOOST_THREAD_PTHR…

Android Activity之間傳遞類對象

一、簡介 開發過程中&#xff0c;Activity之間傳遞數據是必不可少的&#xff0c;Android中使用Intent和Bundle作為數據載體&#xff0c;在Activity之間傳遞&#xff0c;對于基礎數據類型&#xff0c;Bundle已經提供了相關的put、set方法&#xff0c;而作為自定義的類型則需要有…

C++3個漢諾塔遞歸問題

3個漢諾塔問題A—>C 移動次數2^n-1 hannoni(int n,char a,char b,char c)把n個盤子借助b,從a移動到cmove(int n,char a,char c)把第n個盤子,從a移動到c #include<iostream> #include<cmath> using namespace std; //漢諾塔問題A--->C //2^n-1次移動次數 …

clion編譯器解決undefined reference to symbol ‘shm_open@@GLIBC_2.2.5‘

修改CMakelists文件 cmake_minimum_required(VERSION 3.17) project(mutex_learn)set(CMAKE_CXX_STANDARD 14)set(BOOST_ROOT "/usr/local/include/boost") #添加頭文件搜索路徑 include_directories(/usr/local/include) #添加庫文件搜索路徑 link_directories(/us…

Android 攔截或屏蔽返回鍵

在Android開發中我們常常會遇到需要攔截或屏蔽返回鍵的需求&#xff0c;對攔截后的返回鍵進行特殊操作。 監聽返回鍵有兩種方式 1、重寫OnBackPressed方法 Overridepublic void onBackPressed() {// 完全由自己控制返回鍵邏輯&#xff0c;系統不再控制&#xff0c;但是有個前…

C++遞歸斐波那契數列

第一種 //斐波那契數列 // 0 1 1 … //從第1個開始 代碼 #include<iostream> #include<cmath> using namespace std; //斐波那契數列 // 0 1 1 ... //從第1個開始 int f(int n) {int m; if(n1)return 0;if(n2)return 1;elsemf(n-1)f(n-2);return m;} int mai…

Android onActivityResult中requestCode與resultCode區別

想要了解requestCode與resultCode的區別&#xff0c;我們需要先了解以下三個方法的用法&#xff1a; startActivityForResult(Intent intent, Int requestCode) setResut(int resultCode, Intent intent) onActivityResult(int requestCode, int resultCode, Intent intent) …

使用named_mutex和named_condition配合實現讀寫鎖

代碼 代碼的名稱是read_write_mutex.h初步優化如果涉及到進程掛掉了&#xff0c;造成進程堵塞&#xff0c;如何解決&#xff1f;還未涉及 #include <boost/interprocess/sync/named_condition.hpp> #include <boost/interprocess/sync/named_mutex.hpp>namespace …

C++的輸入與輸出

輸入與輸出 輸入:從外部輸入設備(鍵盤)向計算機輸入數據 輸出:從計算機向外部輸出設備(顯示屏)輸出數據 C使用流對象實現 使用流對象cin與cout,將標準輸入輸出流庫的頭文件iostream包含到源文件 #include<iostream>//標準輸入輸出庫 using namespace std;//使用標準命…

Android 動態計算ListView的高度

目錄一、簡介二、效果圖三、代碼實現一、簡介 在Android開發的過程中有的時候我們需要手動計算ListView的高度&#xff0c;比如說&#xff0c;ScrollView中嵌套ListView的時候&#xff0c;我們就需要手動精確計算ListView的高度了。 如果ListView的Item高度是固定的話還好計算…

DjangoRestFramework(drf實現五個接口)

安裝&#xff1a;pip install djangorestframework 在使用drf之前&#xff0c;先 使用原生Django實現5個接口 models.py from django.db import modelsclass Book(models.Model):namemodels.CharField(max_length53)pricemodels.IntegerField() views.py from app01 impor…

linux使用共享內存進行進程通信

一、什么是共享內存 共享內存就是允許兩個不相關的進程訪問同一個邏輯內存。共享內存是在兩個正在運行的進程之間共享和傳遞數據的一種非常有效的方式。不同進程之間共享的內存通常為同一段物理內存。使用共享內存進行通信的進程都需要同一段共享內存連接到它們自己的地址空間…

安卓TextView文本框與自定義邊框

常用屬性 自定義邊框 基本使用 <?xml version"1.0" encoding"utf-8"?> <shape xmlns:android"http://schemas.android.com/apk/res/android"android:shape"rectangle矩形/ring圓環/oval橢圓/line直線"當為圓環時android:s…

Android RecyclerView實現九宮格效果

RecyclerView更加優化的復用機制和方便實現UI效果&#xff0c;幾乎替代Listview和GridView的使用。但是分割線的實現&#xff0c;需要自己繼承ItemDecoration來繪制。 完整代碼已上傳至Github&#xff1a;RecyclerView實現九宮格效果 效果圖 item的布局文件 <?xml versi…

如何讀取指針指向的地址空間呢?

方法 使用%p 接收指針返回的地址空間 代碼 #include <stdio.h> #include <stdlib.h>int main() {int a 100;int *a_p &a;printf("%p\n",&a);//輸出&#xff1a;002AF744 輸出的是a變量的地址printf("%p\n",a_p);//輸出&#xff1…

科學究研明表,漢字序順并不一定影閱響讀

有個很有意思的現象&#xff1a; 不信你就來試試 中文打亂小工具 github地址&#xff1a;在線打亂文字順序