#2019-2020-1 20175212トンHaozhen「情報セキュリティシステム設計の基礎」第4週の学習の概要

2019-2020-1 20175212トンHaozhen「情報セキュリティシステム設計の基礎」第4週の学習の概要

コンテンツの概要を学びます

1進変換

場合は、手動操作、メディアのためのバイナリ利用可能

2. 3つの操作

  • ビットレベルの操作
    &| ^〜(XOR)
    ビット演算子

  • 論理演算子
    && ||!
    のみ0と1
  • シフト操作
    論理右シフト:0は、k番目の充填左
    算術右は:k個の最上位ビットを埋める左

コンテキスト情報ビット+ 3 =

  • 符号なしの整数
  • 符号付き整数
    の最上位ビットは符号ビットであります

  • フロート
    IEEE浮動小数点表現を:V =( - 1)^ S M 2 E ^
    S:記号
    M:仮数
    Eを:指数
    利点は:より多くを表すことができます

4.数値計算

  • 符号なし整数演算
  • そこ操作(補数演算)は、符号付き整数

情報が保存されています

  • 大小の両端
    :小端法の上位バイトにメモリに保存された下位アドレス
    ビッグエンディアン:方法と反対側の小端部
  • ネットワークバイトライブラリ、およびホストバイト
    エンディアンバイト順ネットワークの大部分は、機械伝達の大部分は、必要な送信サブパラグラフ機エンディアン変換を変換しなくてもよい。
    htons()はホストの種類、符号なしの短い配列について- >ネットワーク配列
    ホスト符号なしの短い配列の種類htonl() - >ネットワークシーケンス
    >ネットワークシーケンス-ホスト符号なしの短い配列の種類ntohs()
    ホスト符号なしの短い配列の種類ntohl() - >ネットワーク・シーケンス

教科書の学習と問題解決のプロセス

(テンプレート:私はこの一節(引用文)を読んで、私は情報を確認し、質問(質問)がある、これらの主張(と言って引用された)がありますが、私の練習によると、私はこれらの経験を取得する(彼の経験を説明)。しかし、私はまだ理解していない、私の混乱が()混乱を説明している。[か]私は(ビューの著者のポイントは、自分の意見だけでなく、根拠を前方に置く)ビューの著者のポイントに反対します。)

  • 質問1:多数の問題を解決する方法のIEEE浮動小数点表現
  • 問題解決方法1:科学的表記法に類似重量IEEE記録、
  • 質問2:送信機として、どのようにビッグエンディアンかリトルエンディアンモードを決定します
  • 問題2解決策:2つの方法があります。

1.キャスト(PPTした方法)

void funtest1()
{
    int i = 1;
    char* j = (char*)&i;
    if (*j == 1)
    {
        printf("小端存储\n");
    }
    else
        printf("大端存储\n");
}



2.連邦の自然を使用します。様々なタイプの変数が同じメモリを共有します

void funtest2()
{
    union UN
    {
        int i;
        char c;
    }u;
    u.i = 1;
    
    if (u.c == 1)
    {
        printf("小端存储\n");
    }
    else
        printf("大端存储\n");
}

プロセスで解決コードのデバッグおよび問題

  • 質問1:偏差の意図された機能でコードを実行します。
    ここに画像を挿入説明
#include<stdio.h>
typedef unsigned char *byte_pointer;
void show_bytes(byte_pointer start, size_t len) {
  size_t i;
  for(i = 0;i<len;i++)
      printf(" %.2x",start[i]);
  printf("\n");
}
void show_int(int x) {
    show_bytes((byte_pointer) &x,sizeof(int));
}
void show_float(float x){
    show_bytes((byte_pointer) &x,sizeof(float));
}
void show_pointer(void *x){
    show_bytes((byte_pointer) &x,sizeof(void *));
}
void test_show_bytes(int val) {
    int ival = val;
    float fval = (float) ival;
    int *pval = &ival;
    show_int(ival);
    show_float(fval);
    show_pointer(pval);
}
int main(){
    int a;
                scanf("%d\n",&a);
    void test_show_bytes(a);
}
  • 問題1つのソリューション:
  • 質問2:XXXXXX
  • 問題2ソリューション:XXXXXX
  • ...

コードホスティング

ここに画像を挿入説明

先週試験間違った質問の概要

  • 状況を理解するために、間違った質問1と理由、
  • 質問2と間違った理由、状況を理解します
  • ...

その他(知覚、思考、など、別売)

xxxの
xxxは

学習の進捗バー

コードの行の数(/蓄積を追加) ブログ量(/蓄積を追加) 学習時間(/蓄積を追加) 重要な成長
目標 5000行 30 400時間
最初の週 51/51 1/1 20/20
第二週 83分の32 1/2 38分の18

最後に、「計画的な学習の時間」と「実際の学習時間」を記録してみてください、あなたが計画する能力を向上させることができるかどうかを確認。この研究は、非常に重要な仕事であるにも便利です。
推定式消費
:Y = X + X / N 、Y = XX / Nを、 より頻繁に訓練し、X、Yが閉じます。

参考:なぜそんなにハード、ソフトウェアエンジニアリングソフトウェアを推定されソフトウェアエンジニアリングの推定法

  • プランの学習時間:XX時間

  • 実際の学習時間:XX時間

  • 改善点:

(利用可能なより多くの参照現代のソフトウェア工学コースウェア
ソフトウェアエンジニア自己評価フォームへの能力を

参考資料

おすすめ

転載: www.cnblogs.com/thz666/p/11609835.html