Giới thiệu về kiểu số nguyên trong lập trình C

Một giá trị kiểu số nguyên là một số hữu hạn trong không gian số nguyên. Không phải tất cả mọi số nguyên đều có thể biểu diễn trên máy tính được. C có nhiều kiểu số nguyên với dải giá trị khác nhau. Kiểu số nguyên cơ bản nhất trong C là kiểu số nguyên có dấu được định nghĩa với từ khoá là int chiếm 4bytes (32 bit) nên phạm vi giá trị của nó là: -231 đến 231 – 1 . Còn với hệ điều hành 16bit thì giá trị của kiểu int chiếm 2bytes(16bit) nên phạm vi giá trị cảu nó là: -215 đến 215 – 1. Cách ghi hằng số nguyên: 225, -255, 457, 867, -254…
Kiểu int là kiểu số nguyên thông dụng nhất. Tuy nhiên trong C còn nhiều kiểu số nguyên khác với dải giá trị khác nhau. Tuỳ từng trường hợp mà sử dụng cho thích hợp để không lãng phí bộ nhớ cũng như tài nguyên chương trình.

Bảng liệt kê danh sách các số nguyên: 

Type Storage size Value range
char 1 byte -128 to 127
unsigned char 1 byte 0 to 255
signed char 1 byte -128 to 127
int 2 or 4 bytes -32,768 to 32,767 or -2,147,483,648 to 2,147,483,647
unsigned int 2 or 4 bytes 0 to 65,535 or 0 to 4,294,967,295
short 2 bytes -32,768 to 32,767
unsigned short 2 bytes 0 to 65,535
long 4 bytes -2,147,483,648 to 2,147,483,647
unsigned long 4 bytes 0 to 4,294,967,295

Ví dụ: Lấy thông tin về kích thước của kiểu dữ liệu và phạm vi giá trị 

Kết quả:

Sizeof char : 1 range of value from -128 to 127

Sizeof int : 4 range of value from -2147483648 to 2147483647

Sizeof short : 2 range of value from -32768 to 32767

Sizeof long : 8 range of value from -9223372036854775808 to 9223372036854775808

Sizeof unsigned char : 1 range of value from 0 to 255

Sizeof unsigned int : 4 range of value from 0 to 4294967295

Sizeof unsigned short : 2 range of value from 0 to 65535

Sizeof unsigned long : 8 range of value from 0 to 18446744073709551616

Note:

  • Với kiểu biến có dấu thì phải dành ra 1bit cho dấu (+-). Còn với kiểu biến không dấu thì giá trị phải bắt đầu từ 0 cho tới giá trị max (không bỏ 1bit làm dấu).
  • Tuỳ từng hệ điều hành 16bit, 32bit hay 64bit mà số byte cho từng kiểu biến khác nhau. Ví dụ với hệ điều hành MSDos kiểu int sẽ là 2bytes(16bit) còn với hệ điều hành winxp, win7, win8 thì kiểu int sẽ là 4bytes(32bit). Tức là phạm vi của kiểu biến sẽ thay đổi tuỳ vào từng hệ điều hành.

Các phép tính số học đối với số nguyên

  • Phép chia 2 số nguyên là số nguyên không phải là số thực. Muốn nhận được kết quả chính xác là số thực ta phải viết (float)x/y. Tức là lúc này x là số nguyên sẽ được chuyển sang là số thực vậy kết quả sẽ là 1số thực chia cho 1số nguyên.
  • Khi thực hiện các phép tính số học đối với số nguyên cần xem phép toán có vượt qua phạm vi biểu diễn số nguyên của máy không. Hiện tượng này gọi là tràn số

Ví dụ:

Kết quả:

Gia tri cua x/y: 10
Gia tri cua x +y : -16

  • Giá trị của x/y (21/2) là 10 vì cả 2 số x và y đều là số nguyên.
  • Giá trị của x +y là -16 vì kết quả x + y vượt qua phạm vi max của 1 số nguyên có dấu là
    2147483647
Read More →
Replies: 0 / Share:

Laravel FW : Tìm hiểu cơ bản Routing (P1)

Như trong bài Quy trình xử lý dữ liệu trong Laravel FW mình có đề cập đến Routing có thể thao tác trực tiếp với Model hoặc View mà không cần thông qua Controller. Thực vậy trong Routing chúng ta có thể định nghĩa những hàm, biến…

laravel-routing

Trong bài này mình sẽ giúp các bạn hiểu sâu hơn về Routing. Vậy Routing được định nghĩa tiếng việt như thế nào ? có nhiều người gọi nó là Bộ định tuyến, hay bộ điều khiển…. nhưng đối mình lại thích giữ nguyên từ Routing hay Route.

Trong khuân khổ bài viết về Routing mình sẽ giới thiệu đến với các bạn những vấn đề dưới đây. Và mình sẽ phân chia bài về Routing thành 2 bài viết để các bạn từ từ thấm hơn :

  1. Basic Routing
  2. Route Parameters
  3. Route Filters
  4. Named Routes
  5. Route Groups

I. BASIC ROUTING

Basic Routing trong Laravel cung cấp cho chúng ta những method (Phương thức) để làm việc. Tùy vào nhu cầu làm việc của bạn như thế nào để có sự lựa chọn method tốt nhất cho ứng dụng của bạn. Vậy những method đó là các gì ?

Method: GET, POST, PUT, DELETE, ANY, MATCH

Nhưng các các method ở trên các bạn chỉ làm việc nhiều nhất trên các method GET, POST, ANY

+ GET : chỉ dành những đối tượng được truyền từ 1 liên kết

+ POST: đối tượng gửi từ Form

+ ANY : cả GET POST

Để làm việc với Route bạn phải định nghĩa các Route trên file app->routes.php với cấu trúc như sau :

Trong đó:

+method : các phương thức ở trên (get,post,any.. ).

+URI: đường dẫn ảo.

+Func Callback : Nơi xử lý dữ liệu của bạn

Ví dụ 1:

Ở ví dụ 1,khi bạn gõ http://demolar.chiaselaptrinhphp.com/tin-tuc ngay lúc đó nó sẽ gọi Function Callback của chúng ta và nó in ra đoạn text “Đây là trang tin tức”.

Ở trong bài trước Quy trình Xử lý dữ liệu Laravel, mình cũng đưa ra 1 ví dụ :

Khi bạn gõ đường dẫn http://demolar.chiaselaptrinhphp.com/news. Lúc đó bạn đã khai báo Function Callback “NewsController@getIndex”. Ngay lúc đó Route sẽ điều hướng bạn sang Controller :NewsController và gọi action getIndex().

II. ROUTE PARAMETERS

– Truyền tham số vào Routing

– Document Route Parameters

– Nếu bạn cần truyền 1 tham số đến Function Callback để xứ lý công việc của bạn, bạn cần định nghĩa nó theo cấu trúc sau:

+ Param : Tham số truyền vào theo dạng: đường dẫn ảo / tham số

Ví dụ 2

Khi các bạn chạy đường đẫn. http://demolar.chiaselaptrinhphp.com/tin-tuc/113 kết quả nhận được

Một vấn đề nảy sinh ra. Khi các bạn truyền tham số như vậy thì nguy cơ dím lỗi SQL Injection . Chính vì điều này Laravel cho phép chúng ta sử dụng Regular Expression ngay tại Route để kiểm tra giá trị tham số truyền vào :

Ví dụ 3:

Trong ví dụ trên: giá trị tham số truyền vào route chỉ là số .

– Vậy chúng ta có thể truyền vào nhiều hơn một tham số trong Route được không ? Tất nhiêu điều đó là được, bạn truyền vào bao nhiêu tham số thì ở Function Callback nhận bấy nhiêu tham số:

Ví dụ 4 : mình sẽ truyền vào 3 tham số: id,username, email

Khi các bạn chạy đường dẫn http://demolar.chiaselaptrinhphp.com/user/1/member/quochieuhcm@gmail.com. Kết quả

Kiểm tra nhiều tham số truyền vào cùng 1 lúc: thì lúc đó bạn cần khai tất điều kiện trong 1 Array như ví dụ 5

Ví dụ 5:

– Các bạn lại ví dụ 3 và 5 : Chúng ta có 2 route cùng truyền vào 1 tham số và điều kiện của nó giống nhau nhưng khác về giá trị. Vậy chúng ta có thể định nghĩa 1 Route chung để kiểm tra điều kiện của nó hay không? Được, Laravel cung cấp cho chúng ta 1 method có tên là pattern với cấu trúc khai báo như ở dưới đây

Ví dụ 6:  thể hiện vấn để ở trên:

Như vậy bạn không cần khai báo where('id'=>'[0-9]+') ở đường dẫn ảo user nữa.

III: NAMED ROUTES

– Đặt nặc danh ( tên ) cho 1 Route

Cấu trúc:

+URI: Đường dẫn ảo.

+as  : tên của route (nặc danh)

+ uses : sử dụng controller và action nào

Để các bạn hiểu rõ hơn chúng ta làm 1 ví dụ nhỏ nhé.

Ví dụ 7:

– Trong app->controller  bạn tạo 1 Controller tên UsersController với nội dung code :

– Trong file routes.php bạn khai báo :

Những điểm bạn cần lưu ý:

1. Mỗi bạn có cách đặt tên cho Route khác nhau theo ý của bạn. Đối với mình, khi bạn làm việc với Controller Action nào thì bạn lên đặt route : controller.action , ở ví dụ 7 mình làm việc trên Controller User và action getLogin() mình sẽ đặt nó như sau: user.login ( Hãy tạo thói quen cho bạn :)) ).

2. Ngoài những vấn ở trên ra Routing  làm  được hơn thế nữa, mình sẽ không đề cập nhiều ở đây, nếu không các bạn cảm thấy quá ngợp khi Tìm hiểu về Route . Vậy mình sẽ đề cập vấn đề nào ? chúng ta quay lại ví dụ 2 ở trên

Trong ví dụ này ngoài cách viết trên chúng ta có thể định nghĩa Function Callback ở ngoài được không ? Được các bạn ạ.

– Để làm việc với method : POST mình đề cập tới nó ở phần Làm việc với Form trong Laravel. Các bạn cùng đón đọc nhé. Mình kết thúc phần Tìm hiểu cơ bản Routing – Phần 1 ở đây. Để các bạn từ từ quen dần cũng như thực hành nhiều hơn để hiểu về Routing.

Phần 2 mình sẽ giới thiệu ROUTE FILTER và ROUTE GROUP theo mình 2 phần này nó gắn bó chặt chẽ với nhau nên mình tách sang bài viết phần 2.

Bye các bạn !

Read More →
Replies: 0 / Share:

Những điều cần biết về Adobe Illustrator

Adobe Illustrator, ngay từ tên gọi của nó chúng ta có thể biết được đây là 1 sản phẩm của Adobe, nơi ra đời của Photoshop, phần mềm chỉnh sửa ảnh rất nổi tiếng. Ở bài viết này tôi sẽ viết về Adobe Illustrator-phần mềm chuyên để sử dụng vẽ đồ họa.

Chúng ta có thể tìm hiểu thêm về Adobe Illustrator về lịch sử,những điều liên quan đến nó thông qua wikipedia, ở đây tôi muốn nêu lên ưu và nhược điểm của nó và những gì Adobe Illustrator  làm được.

Illustrator là một chương trình vẽ vector, chủ yếu sử dụng các đường thằng và đường cong như trong toán học để vẽ hình. Dưới đây là ưu điểm và nhược điểm khi học Illustrator.

1. Ưu điểm của Vector Graphics

– Khả năng mở rộng mà không mất độ phân giải
– Dòng được rõ nét và sắc nét ở bất kỳ kích cỡ
– In ở độ phân giải cao
– Kích thước file nhỏ hơn
– Hay sử dụng cho việc vẽ minh họa

2. Nhược điểm của đồ họa vector

– Bản vẽ có xu hướng nhìn phẳng và phim hoạt hình
– Độ khó để sản xuất hình ảnh bản vẽ hiện thực
– Sử dụng phổ biến cho Illustrator

Thiết kế logo
Adobe Illustrator

Vẽ bản đồ
Adobe Illustrator

vẽ minh họa- Illustrator
Adobe Illustrator

Infographics
Adobe Illustrator

Vẽ photorealistic
Adobe Illustrator

Thiết kế bao bì
Adobe Illustrator

Đây chỉ là một vài ví dụ về những gì bạn có thể làm được với Illustrator. Nếu bạn đã sử dụng hoặc biết về Photoshop, bạn hoàn toàn có thể sử dụng Adobe Illustrator 1 cách dễ dàng, tự nâng cao trình độ của mình hơn nữa .  Bạn có thể phát triển nhiều hơn nữa tùy vào ý tưởng của mình. Chúc các bạn thành công

Read More →
Replies: 0 / Share:

Học photoshop nên bắt đầu từ đâu

Bạn đang muốn học photoshop mà không biết nên bắt đầu từ đâu. Ở bài viết này tôi sẽ chia sẻ cho các bạn nên bắt đầu từ đâu và như thế nào.

Điều đầu tiên tôi muốn chia sẻ ở đây là bạn phải xác định được mục tiêu của bạn, bạn học Photoshop để làm gì.

Photoshop được sử dụng rất nhiều trong các ngành nghề như thiết kế, đồ họa, website….. Dưới đây là những công việc cụ thể của Photoshop:

  • Thiết Kế: Các bạn có thể thiết kế website, thiết kế logo, thiết kế banner…. tất tần tật về thiết kế hình ảnh.
  • Chỉnh sửa: Bạn có thể chỉnh sửa ảnh, cắt ghép ảnh, chỉnh màu sắc , ảnh sáng, blend màu…..
  • Vẽ bằng Photoshop: Cũng giống như bạn vẽ tranh, nhưng ở đây bạn vẽ trực tiếp trên photoshop bằng các công cụ sẵn có.
Trên đây là những điều bạn có thể làm với photoshop. Bạn có thể xác định cho mình 1 ngành cụ thể và học theo h ướng đó.
  • Nếu bạn học về thiết kế: Ở đây bạn sẽ học về cách sắp xếp hình ảnh, chữ, bố cục sao cho đẹp và cân đối nhất. Lúc này bạn sẽ phải tuân thủ các yếu tố về nghệ thuật để thiết kế hình ảnh sao cho đẹp nhất, vì mỗi bức ảnh bạn làm ra đều tượng trưng cho ý tưởng và sự sáng tạo của bạn. Sáng tạo càng nhiều bạn càng trở nên hoàn thiện hơn. Các công cụ bạn sẽ sử dụng nhiều ở đây là Marquee, Crop, Move…..

học photoshop

  • Nếu bạn học về chỉnh sửa: Ở đây bạn sẽ phải học về mọi công cụ trong photoshop, vì mỗi công cụ đều có 1 chức năng riêng khác nhau nên bạn cần nắm rõ để có thể sử dụng nó. Công việc chủ yếu của bạn ở đây sẽ là cắt ghép ảnh, chỉnh sửa vùng chọn, làm nét ảnh hay làm mờ ảnh,  Các công cụ bạn sử dụng ở đây nhiều sẽ là Quick Selection, Magic, Pentool, Lasso, Clone Stamp, Healing…..

học photoshop

  • Nếu bạn học vẽ bằng photoshop: Cũng như ở trên về thiết kế, bạn sẽ cần phải có chút tư duy về nghệ thuật, tuân thủ các yếu tố về nghệ thuật, Ở đây bạn cần có năng khiếu về hội họa nhiều hơn nữa. Công cụ bạn sử dụng ở đây sẽ là Brush, Eraser…… 

học photoshop

Sau khi bạn đã xác định được tiếp hướng học của mình, thì đây là cách hướng dẫn bạn sẽ học như thế nào
  • Tự học ở nhà: Bạn có thể tìm các tài liệu về photoshop, gồm các tài liệu video trực quan để các bạn có thể nắm rõ nhất. Bạn có thể tìm trên các diễn đàn về công nghệ, diễn đàn chỉnh sửa ảnh…… Bạn có thể học dần từ các bài học cơ bản, sau khi sử dụng thành thạo thì bạn sẽ học đến các bài học nâng cao hơn để nâng cao trình độ của mình.
  • Học tại trung tâm: Hiện này có rất nhiều trung tâm đào tạo, dạy về photoshop. Các bạn có thể đăng kí học theo khóa học này. Các khóa học cơ bản và nâng cao th ời gian sẽ khác nhau, tùy thuộc vào trình độ của mình để đi học. Ưu điểm của việc học này là các bạn được hướng dẫn chi tiết từ các bước cơ bản, được làm việc nhóm, rèn luyện thêm nhiều kĩ năng cho các bạn hơn.

Bài chia sẻ của mình kết thúc tại đây, chúc các bạn thành công trong việc lựa chọn công việc của mình.

 

Read More →
Replies: 0 / Share:

Photoshop: Làm quen với các công cụ cơ bản

Bạn đang muốn tìm hiểu và sử dụng photoshop? Bạn tìm thấy rất nhiều tài liệu, video hướng dẫn trên mạng mà chưa biết nên bắt đầu từ đâu?

Bài viết này tôi sẽ giới thiệu cho các bạn về các công cụ trong photoshop mà các bạn sẽ bắt đầu sử dụng.

Dưới đây là giao diện cơ bản các bạn sẽ sử dụng.

Thủ thuật Photoshop: Những thao tác cơ bản

 

Bảng Menu

Thủ thuật Photoshop: Những thao tác cơ bản

  • Menu file: trong này có các công cụ cơ bản như New, Open, Save, Save as……
  • Menu edit: Chứa các công cụ cơ bản như Step Backward, Step Forward, Fill, Undo…….
  • Menu image: Ở đây cho phép các bạn làm việc với ảnh như thay đổi màu sắc, độ sâu, độ tương phản, ánh sáng của hình ảnh…… Các bạn có thể tìm hiểu thêm ở các bài chỉnh sáng trên các diễn đàn công nghệ. Đây là hình ảnh trong Menu Image
  • photoshop
  • Menu layers: Giúp các bạn làm việc ở trên layers, gồm các công cụ New Layers, Duplicate Layers, New Fill Layers…….
  • Menu select: Làm việc trên các vùng được chọn, vùng bỏ chọn….. các công cụ sử dụng như Lasso Wand, Select All……
  • Menu Filter: Cho phép các bạn tạo ra hiệu ứng cho bức ảnh của bạn. sử dụng bộ lọc filter có nhiều lựa chọn.
  • Menu View: Bạn có thể thay đổi kích thước của ảnh, các công cụ như Zoom out, Zoom in…..
  • Menu Window: Giúp bạn làm việc với các cửa sổ của trang, quản lí cửa sổ làm việc trên màn hình.
  • Menu Help: Chứa các  thông tin cơ bản của photoshop,  thông số cụ thể của phiên bản bạn đang sử dụng.
Còn đây là thanh công cụ các bạn sẽ sử dụng

photoshop

Trên đây là khái niệm cơ bản về các công cụ các bạn sẽ sử dụng trong photoshop, đây là bước căn bản các bạn cần biết để có thể sử dụng thành thạo photoshop. Chúc các bạn thành công.

Read More →
Replies: 0 / Share: