回覆列表
  • 1 # 教女朋友學程式設計

    可以的

    因為字元本身也是一個0-255的整數,二者相乘,型別最終是 轉化為整數型

    所以 答案很確定,是可以的!!!

  • 2 # 張之一

    可以的:

    字元本質上是一個位元組所能表達數值0~255的“編碼”,字元"9"的ascii編碼是十六進位制的0x39,即十進位制的57,所以:

    9*"9"=9*57=513

    有一個概念必須清楚,就是任何儲存於計算機的資料(數字、字元、機器指令、圖片、語音、影片……)都只能以二進位制的形式存放在一個或多個位元組中。

  • 3 # 隔壁老西工

    首先答案是可以。字元9也是用ASCII編碼在計算機裡面,也是一個數字,只不過字元9得真正值是57,可以在下表查下:

    所以:

    "9"*9

    實際上是:

    57*9

  • 4 # EXCEL進階課堂

    先說結論:c語言中,字元9是可以與整數9直接相乘的,得到的結果是513.

    1 為什麼字元9可以與整數9相乘?

    首先我們要明白字元在記憶體當中是以什麼樣的形式儲存的。在計算機當中,字元都是以它對應的ASCII碼錶示(美國資訊交換標準程式碼),而ASCII碼不管用什麼進製表示,它最終表示的是一個整數。如‘9’,它的ASCII碼值用十進位制表示為57。所以,看上去是字元9在做相乘,實質上是用它的ASCII碼值在做相乘。

    2 字元9與整數9是如何相乘的?

    表示式:‘9’*9,在C語言中如何運算的呢。

    乘運算子是雙目遠算符,也就是要求有兩個運算元,如上圖如示,運算元1和運算元2。在計算前,要求兩個運算元的型別要保持一致,而現在運算元1是字元型,而運算元2是整型(預設為int型),兩個運算元型別並不一致,所以需要進行型別轉換。

    在C語言當中,資料型別轉換有兩種:其一,自動型別轉換;其二,強制型別轉換。在這裡在,它會使用自動型別轉換,可以理解為是C系統當中自動完成的,不需要程式設計師參與的。根據自動型別的轉換原則,字元型會自動轉為int型,而‘9’轉換為int型,就是取它的ASCII碼值:57。

    完成轉換以後,就用57*9,答案自然是513。

    以上,就是進階君對於這個問題的回答。

  • 5 # 二師兄programmer

    你好,我是比特幣二師兄,一個會投資的程式猿。

    在C語言中,字元9可以與整數9直接相乘。原因如下:

    1、一般情況下不同型別的資料進行運算子操作的時候,會進行預設的型別轉換,而且一般由低精度轉為高精度的型別,在進行運算操作。

    具體的轉換規則如下:

    char -> int -> unsigned int -> long -> unsigned long -> long long -> unsigned long long -> float -> double -> long double。

    2、每一個字元其實都會對應一個ASCLL碼,而部分的字元對應的ASCLL碼是數字。一般運算的時候回預設將字元轉換為ASCLL碼進行運算。

    例如本例子中的字元9所對應的的ASCLL碼為57。

    下面我們做一個簡單的例子來實現字元9和整數9相乘,具體程式碼如下:

    從這個程式碼除錯正可以看到,我們上面所說的是正確的,即字元9會轉換為其對應的ASCLL碼57來與整數9相乘。

  • 中秋節和大豐收的關聯?
  • 砂糖橘採摘好可以放幾天?